Maybe short description of Catharis NHibernate implementation will help you to find the answer for your COM stuff.
Factory == 1 Object per application. There is NHibernate Factory based on Singleton design pattern, which basically means - there is one Factory instance in the application lifetime.
Session == 1 object per request. Whenever there is an request - Factory is called to create the NHibernate request-based working environment -> called Session. This object is referenced in the Request.Items collection (and therefore is cleaned by GC when
the request is finished)
Imagine that the Factory object is using 30 MB (only as an example). Then even when you close browser - the Application still lives. And therefore it still references the Factory object (as for example said 30MB large). And that could be an 'indicia' to
By the way, one of the fastest ways how to restart application (and also release all referenced objects; until they are reinstantiated) is to make any change into the web.config file.
Maybe that could help