title: Backgroundworker memory leak and the "using" statement
body: <p>We have a program (Form) which uses many backgroundworker threads in many occasions (we cannot reuse them).</p>
  
  <p>We noticed that the memory of the program keeps growing and analyzing this with a memory profiler I've noticed that there are many backgroundworker objects.</p>
  
  <p>I thought that if I use the "using" statement will do the trick and dispose the objects but it doesn't seem to work.</p>
  
  <pre><code>using (BackgroundWorker bgwConnectClient = new BackgroundWorker())
  {
      bgwConnectClient.DoWork += new DoWorkEventHandler(bgwConnectClient_DoWork);
      bgwConnectClient.RunWorkerAsync();
  }
  </code></pre>
  
  <p>Any idea??</p>