The whole-file transcribe paths recover from a wedged worker via run_transcribe_guarded's pool reset (#731), but the chunked dub transcribe-stream only recorded a per-chunk timeout error and moved on — leaving the stuck thread holding its GPU-pool worker, so subsequent chunks / a concurrent TTS generate could still starve into 'can't reach backend'. Reset the pool on the per-chunk TimeoutError via a small _reset_pool_on_wedge() helper (best-effort, no-op for a plain executor). Closes the residual on #730. Tests: helper resets a reset-capable pool and no-ops a plain ThreadPoolExecutor. Co-authored-by: mergetest <test@local> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>