Non puoi crearti un DataSet e aggiungergli la relazione Father/Child e poi bindarlo al treeview?
In questo modo non hai bisogno di scriverti la procedura ricorsiva per il treeview
Nella struttura che hai fatto dovresti metti il nodo Radice da cui nascono tutti i figli e poi crearti la struttura gerarchica tramite ricorsione partendo dal nodo 0.
0
|
123456
|____56789
|________10111213
654321
|_____56874
|
...
...
...
A questo punto non ti serve neanche il terzo campo visto che tutti i padri sono quelli che nascono dal nodo 0.