Обновление пользовательского интерфейса напрямую из потоков - это плохо. Если у вас есть несколько потоков, пытающихся обновить, то у вас проблемы,
Если вы уверены, что только этот поток будет обновлять пользовательский интерфейс,
используйте это перед вызовом потока
CheckForIllegalCrossThreadCalls =False