Пытались ли вы установить точку останова в обработчике событий, чтобы проверить, ударили ли по ней?
Если это так, приложение не будет закрываться, если сообщения окна не доставляются (т. Е. Поток пользовательского интерфейса заблокирован). Один из способов проверить это - вызвать Environment.Exit()
, что более жестоко в отношении форсирования закрытия. Если это удастся, вы можете выяснить, почему Application.Exit()
не работает.