EventLoopContext pins itself to the thread that constructed it and refuses
ExecuteTasks from any other. The fixture builds one on whichever thread built
the fixture, and xUnit gives no guarantee a test method runs on that thread,
even inside a sequential collection -- so pumping it was a coin flip. It came
up heads locally and on most CI images, and tails on CentOS 10.
Each pumping test now constructs its own context, which makes the guard pass
by construction rather than by luck, and restores the original afterwards.
Both tests share one helper, since both need the real queue rather than
ComputeInline.