Multi-threaded Winforms Conventions for Main()
I would second Steven Doggart's comment about it being pointless to spawn a thread that does nothing.

To address your separation of concerns issue, though: If you are using one of a number of design patterns for your UI (e.g., MVC, MVVM, MVP, etc.), your MainForm class will merely be binding to one or more data objects and raising events from the user.  The real work and asynchrony will be done in another class.

For example, in the MVP pattern, you might have MainForm, MainPresenter, and MainViewModel.


MainForm binds various controls to properties exposed by MainViewModel
MainViewModel implements INotifyPropertyChanged and raises PropertyChangedEvents when those properties change.
MainForm updates those properties as the result of users manipulating those controls.
MainPresenter responds to events raised by MainForm and updates MainViewModel properties as well, causing MainForm to respond through the PropertyChangedEvents


It is then up to MainPresenter (or more appropriately, other classes MainPresenter uses) to figure out how to handle threading.  MainForm itself never has to know or care that you are using separate threads.