Вы совершили грех # 1 в асинхронном программировании.
У вас занятая петля. Вместо того, чтобы ждать, пока GlobalV.Attatched_Elements.Count
изменится, вы постоянно безостановочно спрашиваете: «теперь он ненулевой? Теперь он ненулевой? ненулевой сейчас? это ненулевой сейчас? ", так быстро, как процессор может это сделать.
Другими словами, вы тратите много времени на выполнение.
То, что вы хотите сделать, это просто подписаться на событие, сообщающее вам, когда Count
изменится. Затем, когда он изменяется, вы проверяете, не является ли он ненулевым, и выполняете необходимую обработку.