I am still having problems with figuring out how to create winforms in a separate UI thread that I discussed here.
In trying to figure this out I wrote the following
I think just calling ShowDialog instead of Show will help. The problem seems to be that the thread finishes just after calling Show, after that the Form get's garbage collected. ShowDialog will halt the thread but still run form-events on it so the thread will keep running until the form is closed.
Normally i would do it the other way around. Run the form on the starting thread and start background threads when you want to start long-running background tasks.
I also read your other question but couldn't figure out what you're trying to do. MVP-architecture doesn't require you to run your business logic on different threads. Multi threading is hard to do right so I'd only use multiple threads if I really needed them.