練習として複数のPictureBoxに、高速で複数の画像を入れ替えまくってみたんですが
private void button1_Click(object sender, EventArgs e)
{
 Thread t = new Thread(new ThreadStart(loop));
 t.Start();
}
void loop(){
 for (int i = 0; i < 1000; i++)
 {
  pictureBox1.Image = mybmp[i % 3];
  pictureBox2.Image = mybmp[(i + 1) % 3];
  pictureBox3.Image = mybmp[(i + 2) % 3];
  Thread.Sleep(50);
 }
}
ときどき下のようなエラーが出ます。
これは、単純にPictureBoxの描画処理が終わらないまま次の描画を始めようとしたためでしょうか?
同一スレッド内の問題だからか、PictureBoxをlockしてみても改善しません。
実際この通りの動作をさせるわけではないですが、高速で画像を更新することはあると思うのでこのままだと気持ち悪い・・・。

>型 'System.InvalidOperationException' のハンドルされていない例外が System.Drawing.dll で発生しました
>追加情報:オブジェクトは現在他の場所で使用されています。