while (true) лютейшее зло.
Используйте таймер. Если используете xamarin forms можно этот взять этот
Device.StartTimer(TimeSpan interval, Func<bool> callback);
Ну и про Throttling и debouncing почитайте.
И про асинхронные методы, возможно тогда и чистые треды не нужны станут.