Ну ясно же написано - проблема с потоками. Я вообще с потоками не работал особо.
Мне кажется стоит использовать для проблемных переменных, которые используются в разных потоках либо синхронизацию либо лочить их на время изменения с помощью
lock
Возможно будет полезным почитать
данную статью о синхронизации потоков