いきなりで申し訳ないですが質問させてください。

MDIのプログラムで別スレッドで1秒ごとにデータを受けながらそれを表示する
というようなプログラムを作っていたのですが、たまにその表示が固まってしまい
更新しなくなってしまいました。(このときCPU稼働率が100%になっていた)

これは 「for」もしくは「while」の条件文がどこかでおかしくなっている、と判断して
よいのでしょうか?
上の二つ以外にも可能性がありえるとしたら教えてください。

Win2k/VC6++