Возможно, вы захотите взглянуть на замечательный (бесплатный, с открытым исходным кодом, с двойной лицензией MPL 1.1 и GPL, который можно использовать в приложениях с закрытым исходным кодом) Virtual TreeView и его потомки, предоставленные пользователем (прокрутите вниз страницу, чтобы найти их.)
Изменить, чтобы отредактировать вопрос: Virtual TreeView не только позволяет обрабатывать миллионы узлов, не сохраняя их в памяти, но фактически является предпочтительным способом его использования. Вы предоставляете данные через обратные вызовы событий, когда это необходимо, и можете указать дереву кэшировать эти данные (или нет).
О, и, конечно, он также имеет режим сетки / отчета, в котором он может функционировать как таблица (просто установите для свойства GridExtensions значение True.)