title: Is it bad not to dispose ISession
body: <p>I have NHibernate hooked up in my asp.net mvc application</p>
  
  <p>The ISession is injected into the repository. 
  I can not use the session per request pattern because i need a session per conversation aproach.</p>
  
  <p>The NHibernate ISession is used across multiple http requests. The object graph is big and i don't want to load the entire graph in every request. That's why the ISession is stored in the users HttpSession.</p>
  
  <p>The lifecycle of the ISession is configured with StructureMap:</p>
  
  <pre><code>For&lt;ISession&gt;().LifecycleIs(new HttpSessionLifecycle()).Use(x =&gt;
  {
      var sessionSource = x.GetInstance&lt;ISessionSource&gt;();
      return sessionSource.CreateSession();
  });
  </code></pre>
  
  <p>At the end of the conversation i call</p>
  
  <pre><code>Session.Clear()
  </code></pre>
  
  <p>to clear the ISession. </p>
  
  <p>When the user creates a new conversation, StructureMap creates a new ISession.
  I did not found a way of disposing the ISession.</p>
  
  <p>So is it bad not to dispose it?
  Is this holding connections to the database?</p>