Bueno, el error te lo marca por culpa del bucle for. Es decir, tu incrementas el contador J hasta TreeView1.Items.Count - 1, que en un bucle for (si no voy equivocado) lo tomará como una constante (5, 6, 7, los que sean). Al hacer un delete durante la iteración del mismo, llega un momento en que te pasarás de rango.
Cambia el bucle for por uno while (en el que, por cada iteración, se evaluará la expresión) y nos comentas.
PD: bien por la etiqueta CODE!!!