В идеале, вы должны выяснить, ПОЧЕМУ ваше приложение все еще висит, согласно ответу Фредкрика. Однако, если вы хотите принудительно завершить работу приложения, Environment.Exit - это то, что вам нужно. Application.Exit выходит только из текущей рассылки сообщений (хотя, по общему признанию, у вас будет только включение, если вы не вызывали Application.Run более одного раза).
Из документа:
Environment.Exit Method
Завершает этот процесс и дает базовой операционной системе указанный код выхода.
Приложение. Метод выхода
Информирует все рассылки сообщений о том, что они должны прекратить работу, а затем закрывает все окна приложений после обработки сообщений.