ExitThread() - from the constructor won't exist the application.
If you throw a IOException just before the catch you will see that the forms will still be visible after the exception MessageBox is displayed.
What is the purpose of this ExitThread in the constructor then?