Ciao,
certo che scompare, una volta uscito dal main in questo caso si chiude il programma!
con show dialog non succede non esci dal main.
in genere in c# si usa fare 
	codice:
	Application.Run(new Form1());
 
Guarda la classe Program.cs creata da vs :
	codice:
	namespace WindowsFormsApplication1
{
    static class Program
    {
        /// <summary>
        /// Punto di ingresso principale dell'applicazione.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
 
a che ti serve il thread separato?