#34502 [Bug]: Bedrock/boto3 streaming delivers chunks in bursts due to per-chunk asyncio.to_thread dispatch (regression from #24177)
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
For providers that stream via a synchronous (boto3) iterator — AWS Bedrock is the main one — the async streaming path in `litellm/litellm_core_utils/streaming_handler.py` calls `await asyncio.to_thread(...)` once per chunk to pull the next item from the sync iterator. Each dispatch has thread-pool scheduling overhead, during which the upstream TCP socket buffers multiple SSE chunks; the thread then returns them back to back. The result is bursty delivery: a share of chunks arrive under 1ms apart instead of the smooth ~20ms cadence of the raw provider stream. Interactive clients (any TUI or chat UI streaming from a Bedrock model) see the response stall and then dump a block of text instead of rendering token by token.
This only reproduces on the synchronous SDK call path: `litellm.completion(model="bedrock/...", stream=True)` (no `a` prefix). It does not reproduce when going through the `litellm` proxy server (`litellm --config ...`) or `litellm.acompletion(...)`, because those always route through Bedrock's async streaming branch (`async_strea…