I'm using the Pauser posted by jmc to manage my game time.
Within this code the SynchronizationContext.Current is put into a variable.
I'm wondering why I am getting different result for that SynchronizationContext.Current in circumstances which I believe to be the same.

The situation:
The GUI opens a Threadning.Threat in which the GameLoop is run, in this GameLoop the the pauser code is used which is putting the SynchronizationContext.Current into a variable. Since it is not the GUI thread SynchronizationContext.Current IMHO should return Nothing
The GameLoop is beeing used for direct simulation (it's working as expected there, SynchronizationContext.Current return Nothing) and for Replay(It is not working here, SynchronizationContext.Current returns context = {System.Windows.Forms.WindowsFormsSynchronizationContext}).
In both cases the GameLoo just calls another Sub in which either a SimulationStep or ReplayStep is done.

Where is my mistake?