All parts of the TreeViewItem (indicator, text, checkbox) are defined as one big template. Therefore customization of only one part of the template still requires retemplating the whole item.
When retemplating is applied to the treeviewitem and 20+ children in the nodes are loaded, the result is as follow: If you run that on iOS and expand a node you'll see that it crunches the UI for a few seconds and then loads the child nodes, but i also see on our application that it will crash some times and either way gives a bad feel to the UI on iOS