[STAThread] and remoting
This is one of the most common gotchas in remoting. VS by default adds a [STAThread] attribue to the Main method of an application. If this attribute is present on a remoting server implementation, and for some reason the main thread is not pumping messages, the finalizer thread will not run which will lead to huge memory leaks. [STAThread] should be avoided in almost all cases for console applications, and if its required the main thread should not block on something like Console.ReadLine.