Поскольку ваша функция ничего не делает внутри блока while, она захватывает ЦП и, во всех практических целях, никогда не отпускает его, поэтому другие потоки могут выполнять свою работу
private void checkingData()
{
while (true)
{
// executes, immediately
}
}
Если вы измените его на следующее, вы должны увидеть более разумное потребление ресурсов процессора:
private void checkingData()
{
while (true)
{
// read your sensor data
Thread.Sleep(1000);
}
}