title: NInject: Where do you keep your reference to the Kernel?
body: <p>I'm using NInject on a new web application and there are two things that are unclear to me:</p>
  
  <ol>
  <li><p>Don't I need to keep a reference to the Kernel around (Session/App variable) to insure that GC doesn't collect all my instances?  For example, if I specify .Using() and then the Kernel object gets collected, aren't all my "singletons" collected as well?</p></li>
  <li><p>If I do need keep a reference to a Kernel object around, how do I allow the arguments passed in to WithArguments() to change or is that not possible.</p></li>
  </ol>