I am just trying to figure out whether this is meant to be done in some other way. I build my own Game class which is now working with either Xna or MonoGame.
When the user presses the Escape key, the game is stopped and disposed, which also includes disposing the GameTimer object. Since the keypress is caught in Update, the GameTimer is still running though the list of timers:
foreach (var timer in _updateTimers)
Since on dispose this list is changed, the method crashes with an exception, that the list has been changed.
Am I missing something and the timer should be disposed of somewhere else? If so, where would be a good way to do that? Otherwise I would say this is a bug.