If you care to run windbg on a managed usercontrol embedded in a web form, you will find that after you perform a garbage collection, there is a memory leak. This is by design. The managed resource actually contains a root that is held by the remoting process. The managed resource reference is released after 5 minutes. I'll post an article on MSDN detailing the specifics shortly.