title: CA2000: object not disposed along all exception paths
body: <p>Although topic has been discussed here before, but the proposed solutions don't seem to work..</p>
  
  <p>I have a button-click-callback method in my form application, that shows a folder picker dialog:</p>
  
  <pre><code>private void ButtonSelectReporterFolderClick(object sender, EventArgs e)
  {
      using (var dialog = new FolderBrowserDialog()) // causes warning
      {
          if (dialog.ShowDialog() == DialogResult.OK)
          {
              this.boxReporterFolderPath.Text = dialog.SelectedPath;
          }
      }
  }
  </code></pre>
  
  <p>This produces a warning:</p>
  
  <p><code>CA2000: Microsoft.Reliability : In method 'MainWindow.ButtonSelectReporterFolderClick(object, EventArgs)', object '&lt;&gt;g__initLocal' is not disposed along all exception paths. Call System.IDisposable.Dispose on object '&lt;&gt;g__initLocal' before all references to it are out of scope.</code></p>
  
  <p>I also tried using a <code>try</code>-<code>finally</code> block or even calling dialog.Dispose without any blocks, all to no avail - the warning remains, always at the line of initialization.</p>