Просто с большим количеством узлов DOM не должно быть большой проблемой (если у клиента недостаточно ОЗУ); однако, манипулирование большим количеством узлов DOM будет довольно медленным. Например, циклически перебирая группу элементов и меняя цвет фона каждого, хорошо, если вы делаете это для 100 элементов, но это может занять некоторое время, если вы делаете это на 100 000 элементов. Кроме того, у некоторых старых браузеров возникают проблемы при работе с огромным DOM-деревом - например, прокрутка таблицы с сотнями тысяч строк может быть недопустимо медленной.
Хорошим решением для этого является буферизация представления. По сути, вы показываете только те элементы, которые видны на экране в любой момент, а когда пользователь выполняет прокрутку, вы удаляете скрытые элементы и отображаете те, которые раскрываются. Таким образом, количество DOM-узлов в дереве относительно постоянно, но вы ничего не потеряете.
Другим аналогичным решением для этого является введение ограничения на количество сообщений, которые отображаются в любой момент времени. Таким образом, все сообщения, скажем, 100, например, удаляются, и чтобы увидеть их, вам нужно нажать на кнопку или ссылку, которая показывает больше. Это то, что Facebook делает со своими профилями, если вам нужна ссылка.