Sorry for the slow review.
This is, generally speaking, done intentionally, and it's suspicious that it'd matter. The idea is that a sample should generally only take a few ms to decode (let alone only demux), and in order to safely synchronize it's generally easiest to wait for that thread to stop. Interrupting the wait is kind of doable for winegstreamer, because we're waiting on a separate thread, but on Windows it wouldn't be a separate thread and wouldn't be interruptible.
Is there something unusual about this situation? What kind of format is the original file? How long are we waiting for another sample?