Вы должны захватить диспетчер до создания потока, а затем передать его в поток.
В духе не делайте этого , вы не должны создавать какие-либо формыЭлементы пользовательского интерфейса в других потоках, даже если они помечены как STA.Порождение дочерних потоков, которые просто запускаются в вечность, не так хорошо, как потенциально несколько насосов сообщений.Итак, ваш базовый дизайн немного ошибочен.
Исправьте это, и ваши другие проблемы исчезнут.
Надеюсь, вы не делаете все это, скажем, из консольного приложения, которое пытается сделать так, чтобы ваши окна были частью другого процесса?