This problem is discussed in an article in the .NET docs. Search for ‘Setting a Form to Be Invisible at Its Inception’. The idea is to startup the application in a different module than your main form. Then the application and main form can have independent lifetimes. Sample code is given in the referenced article.