Die Lösung ist hier zu verhindern das beim Beenden des Programmes nicht noch irgendwelche Timer, (In)Activate, FocusChanged und Co-Events abgearbeitet werden.
Eigentlich sollten zu dem Zeitpunkt gar keine Events mehr aufgerufen werden, da die Message-Queue nicht mehr abgearbeitet wird - außer jemand ruft z.B. sowas wie
Application.ProcessMessages
oder die Events direkt auf.