どんな処理かはマルチスレッドの制御です
スレッドAがループで止まっていてスレッドBが各スレッドの変数を変えに
行っていますスレッドCが条件を充たすとスレッドBにスレッドAのループを
抜けるように変数の値を変えにいきます

ループを抜けたいのに抜けなかったり抜けたくないのに抜けたりします
ループを制御してる変数を
他スレッドから変数を変えにいってるはずが変えられてなかったりしてます

デバッグモードだけで成功するような状況はどういうことなのか教えてください