When working with massive trees (1000+ nodes), combined with custom node templates (containing more logic than just custom styles or one extra element), your TreeView control gets extremly slow and unusable.
To solve this issue, you could add a property to your TreeView (like [removeOnDemand]="true/false") to enable DOM nodes to be removed when they are not visible (eg when the parent node is collapsed or removed from DOM). This would enhance the performance and allow devlopers to have better low level control of your TreeView component.
I for example, require this when I expand multiple parent nodes and then bind custom Angular components and directives to each and every node in the tree. The problem with this is that al long as the node exists in the DOM, all Angular components and directives remain active and causes extreme lag due to Angular Change Detection and not calling ngOnDestroy lifecycle hook.