Hi Ayala24.
The documentation for ThreadException is actually very misleading. It's easy to infer that this event is actually raised only for exceptions in background threads. This is not the case, the ThreadException is raised, when the application is appropriately configured, only for exceptions that are throw in the processing of Windows messages (in a single-threaded WinForms application this is for any unhandled exception that occurs after the main form is displayed).