title: Dispose a dictionary in C# best practice
body: <p>I have a ConcurrentDictionary in my session class.<br>
  Key is an interface representing a manager class.<br>
  Value is a List of DataContracts classes that are used for that manager in this session.</p>
  
  <p>When I dispose the session class, I wish to clear this dictionary. I need to clear all values and keys, but i cant dispose the keys - since they still exists after class dispose..  </p>
  
  <p>Is this enough ? - will this cause the GC to do the work ?</p>
  
  <pre><code>_myDictionary = null;
  </code></pre>
  
  <p>Or i need to iterate with a foreach on all keys and use the Remove to clear values.</p>