title: Is there a use case for not using "this" when calling GC.SuppressFinalize(this)?
body: <p>I was just implementing the Dispose pattern, and when I just typed the <code>GC.SuppressFinalize(this)</code> line, I was wondering if there is ever a use case for using something other than <code>this</code> as the parameter to the method.</p>
  
  <p>This is the typical pattern:</p>
  
  <pre><code>public void Dispose()
  {
      Dispose(true);
      GC.SuppressFinalize(this);  // right here
  }
  </code></pre>
  
  <p>Does it ever make sense to call <code>GC.SuppressFinalize()</code> with something other than <code>this</code>?</p>
  
  <pre><code>public void Dispose()
  {
      Dispose(true);
      GC.SuppressFinalize(foo);  // should this ever happen?
  }
  </code></pre>