What is the purpose of the [STA Thread] attribute for the Main method of a C# program
That marks the thread as being "Single Thread Apartment" which means any multiple threaded calls need to be marshaled over to that thread before they are called. That’s there because Windows Forms uses some OLE calls
(Clipboard for example), which must be made from the thread that initialized OLE.
(from sburke_online@microsoft..nospam..com on microsoft.public.dotnet.framework.windowsforms)