Zawsze podczas pisania aplikacji okienkowej lub konsolowej używałem metody Environment.Exit() do zakończenia jej działania. Normalka.
Natknąłem się jednak na alternatywne rozwiązanie dedykowane dla "sytuacji wyjątkowych". Gdy program znajdzie się w stanie, w którym NIC mu już nie pomoże, to lepszym wyjściem może okazać się zatrzymanie go poprzez wywołanie Environment.FailFast(). Nie dość, że omijamy wówczas wszystkie try/catch oraz finalizery, to jeszcze w eventlogu automatycznie tworzy się wiadomość o naszej akcji. Więcej na MSDN.
Taka w sumie pierdoła, ale lepiej znać niż nie znać.
Szkoda że tylko .NET 4.0