Jak otworzyć formularz w nici i zmusić go do pozostania otwartym

Nadal mam problemy z ustaleniem, jak tworzyć winformy w osobnym wątku interfejsu użytkownika, który omawiałemtutaj.

Próbując to zrozumieć, napisałem następujący prosty program testowy. Chcę po prostu otworzyć formularz na osobnym wątku o nazwie „wątek interfejsu użytkownika” i utrzymać wątek uruchomiony, dopóki formularz jest otwarty, umożliwiając użytkownikowi interakcję z formularzem (wirowanie jest oszustwem). Rozumiem, dlaczego poniższy błąd zawodzi i wątek zamyka się natychmiast, ale nie jestem pewien, co powinienem zrobić, aby to naprawić.

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();
        }
    }
}

questionAnswers(6)

yourAnswerToTheQuestion