Ext's event model is so messed up that I can inadvertantly trigger another run of event processing whilst in the middle of event processing. It means that new events can be triggered and handled whilst half way through processing the current set of events. This is what is happening:
Event handler invoked
Mid way through some code causes Ext to do an event run
Event handler invoked again
Event dealt with
Event dealt with