Почему?

Вы записали в файл - но не вызвали Flush. Вы не можете быть уверены, что данные уже физически на диске - и при сбое питания не пропадут. Но вы понимаете, что когда-нибудь, через негарантированное время, они там окажутся.

Так и тут. Вы поменяли переменную - когда-нибудь, через негарантированное время, значение дойдёт до контрола на экране. В отличие от случая с файлом, Вас "когда-нибудь" совсем не устраивает - и Вы задействуете гарантированное "проталкивание" обновлений с помощью Update.