title: How to implement IDisposable properly
body: <p>I've seen so much C# code in my time as a developer that attempt to help the GC along by setting variables to null or calling Dispose() on classes (DataSet for example) within thier own classes Dispose() method that 
  I've been wondering if there's any need to implement it in a managed environment.</p>
  
  <p>Is this code a waste of time in its design pattern?</p>
  
  <pre><code>class MyClass : IDisposable 
  {
      #region IDisposable Members
  
      public void Dispose() 
      {
          otherVariable = null;
          if (dataSet != null)
          {
              dataSet.Dispose();
          }
      }
  
      #endregion
  }
  </code></pre>