Да, делал и так, и через ManualResetEvent. Думается мне что происходит это по причине того, что обрабатываю переменные в дочернем потоке, а хранятся они в другом.