title: When should I be using IDisposable, is it ever wrong to use it? What about Dispose Chaining?
body: <p>I'm really looking for some best practice wisdom.  So here are the questions, I'll add more if people leave comments. Feel free to answer some or all of these questions.</p>
  
  <p><strong>When SHOULD I use IDisposable? Only when I have unmanaged resources?</strong></p>
  
  <p><strong>What variations of the dispose pattern are there and why do they vary?</strong></p>
  
  <p><strong>What are common unmanaged resources I should be aware of?</strong></p>
  
  <p><strong>Is it ever wrong or misleading to implement IDisposable?</strong></p>
  
  <p><strong>Should Dispose calls ever be chained together, or should we rely on using statements?</strong>
   For instance:</p>
  
  <pre><code>public Dispose(bool disposing)
  {
    ...
    this.SomeDependency.Dispose;
  }
  </code></pre>