Это выглядит безопасным, но все может пойти не так, потому что эти флаги используются в коде, который может быть в середине выполнения в тот момент, когда вы вызываете этот метод из вашего потока.
Я бы синхронизировал вызов с DisableControls, потому что вы хотите, чтобы ваш поток начал использовать этот набор данных, только если его не используют никакие элементы управления.Вызов EnableControls также может быть синхронизирован, или вы можете отправить сообщение в форму, используя PostMessage.Таким образом, поток не должен ждать основного потока.
Но мои интуитивные чувства подсказывают мне, что может быть лучше вообще не использовать один и тот же набор данных для графического интерфейса и потока.