Cómo abrir un formulario en un hilo y forzarlo a permanecer abierto

Sigo teniendo problemas para descubrir cómo crear Winforms en un subproceso de interfaz de usuario separado que comenté.aquí.

Al tratar de resolver esto, escribí el siguiente programa de prueba simple. Simplemente quiero que abra un formulario en un subproceso separado llamado "subproceso de la interfaz de usuario" y mantenga el hilo en ejecución mientras el formulario esté abierto y al mismo tiempo permita que el usuario interactúe con el formulario (girar es un engaño). Entiendo por qué falla lo siguiente y el hilo se cierra de inmediato, pero no estoy seguro de qué debo hacer para solucionarlo.

using System;
using System.Windows.Forms;
using System.Threading;

namespace UIThreadMarshalling {
    static class Program {
        [STAThread]
        static void Main() {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            var tt = new ThreadTest();
            ThreadStart ts = new ThreadStart(tt.StartUiThread);
            Thread t = new Thread(ts);
            t.Name = "UI Thread";
            t.Start();
            Thread.Sleep(new TimeSpan(0, 0, 10));
        }

    }

    public class ThreadTest {
        Form _form;
        public ThreadTest() {
        }

        public void StartUiThread() {
            _form = new Form1();
            _form.Show();
        }
    }
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta