StateHasChanged, на сервере или в браузере, переопределяет текущий компонент / страницу и все ее дочерние элементы (et c).
Результат отображается в виртуальной DOM в памяти, а затем сравнивается в виртуальный DOM предыдущего рендера. Если что-то изменилось, для клиента будет отображаться дельта html.
Так что ответ таков: он может отправить очень мало html в браузер, но сервер будет отображать страницы в памяти для каждого пользователя 60 раз в секунду.
Это не будет хорошо масштабироваться вообще. Было бы гораздо лучше использовать библиотеку Reactive для передачи данных из вашего источника в пользовательский интерфейс. Таким образом, он будет отображаться только при необходимости, и ваш пользовательский интерфейс будет обновляться немедленно.
См. https://blazor-university.com/overview/blazor-hosting-models/
И https://blazor-university.com/components/render-trees/