Application.Run() throws Object is current in use exception C#
<p>well i'm developing an eyetracker. So i manage to get my 2 cams going, but when i call the following method the program throws "Object is currently in use elsewhere" exception on Application.Run(...).</p>

<pre><code> public void processImage(Bitmap bitmap)
 {
     Bitmap aq = bitmap.Clone(new Rectangle(0, 0, bitmap.Width, bitmap.Height), PixelFormat.Format24bppRgb);

     Invert a = new Invert();
     aq = a.Apply(aq);

     AForge.Imaging.Image.FormatImage(ref aq);

     IFilter filter = Grayscale.CommonAlgorithms.BT709;
     aq = filter.Apply(aq);

     Threshold th = new Threshold(200);
     aq = th.Apply(aq);

     //find the biggest blob
     BlobCounter bl = new BlobCounter(aq);
     int i = bl.ObjectsCount;
     Blob bigblob = null;
     int areaant = 0;
     Blob[] blobs = bl.GetObjects(aq, true);

     for (int j = 0; j &lt; i; j++)
     {
         if (blobs[j].Area == 1116)
         {
             j++;
             if (j == i)
                 break;
         }
         if (blobs[j].Area &gt; areaant)
         {
             areaant = blobs[j].Area;
             bigblob = blobs[j];
         }
     }

     Bitmap bitmap2 = bitmap.Clone(new Rectangle(0, 0, bitmap.Width, bitmap.Height), PixelFormat.Format24bppRgb);

     Graphics g = Graphics.FromImage(bitmap2);
     int radius = 1;
     int x = 0;
     int y = 0;
     int h = 25;
     Pen redPen = new Pen(Color.Red, 2);
     if (i &gt; 1)
     {
         Blob fil2 = bigblob;
         x = fil2.CenterOfGravity.X;
         y = fil2.CenterOfGravity.Y;

         g.DrawEllipse(redPen,
                      (int)(x - radius),
                      (int)(y - radius),
                      (int)(radius * 5),
                      (int)(radius * 5));
     }
     redPen.Dispose();
     g.Dispose();

     pictureBox1.Image = bitmap2;
     pictureBox2.Image = aq;
}
</code></pre>

<p>So i imagine it has to do with the bitmap cloning method, because sometimes it throws the exception there. 
Reading diferent problems of other people and their soultion, i've tried several things:
 -Starting each cam with a diferent thread with the same form 
 -in other solution they suggested that the problem was that the two threads where accesing the bitmap. So i separate the forms, one for each camera (thread), and then i tried to use the method procesImage(..) in only one thread. Didn't work.</p>

<p>Any help would be much appreciated</p>
