title: What is the difference between using IDisposable vs a destructor in C#?
body: <p>When would I implement IDispose on a class as opposed to a destructor?  I read <a href="http://www.dotnetspider.com/resources/1382-Understanding-IDisposable-pattern.aspx" rel="noreferrer">this article</a>, but I'm still missing the point.  </p>
  
  <p>My assumption is that if I implement IDispose on an object, I can explicitly 'destruct' it as opposed to waiting for the garbage collector to do it.  Is this correct?</p>
  
  <p>Does that mean I should always explicitly call Dispose on an object?  What are some common examples of this?</p>