>>262のコードはなんら間違ってないが、描画は時間のかかる処理ってことを忘れてないか。
おまえさんのコードだとBackgroundWorkerは黙々と処理をこなしていくが、backgroundWorker1_ProgressChangedの
処理が追いつかずに、処理待ち状態(キューにスタックされた状態)になる。
つまり、スタックされた描画処理のほうにマシンパワーをとられてしまいスレッドの意味がなくなってしまうというわけ。
その描画に使われる時間が>>262のマシンだと20ミリ秒なんだろう。