ниже строки возникла проблема
treeView1.Items.IndexOf(treeView1.SelectedItem))
Поскольку treeview1 имеет только один узел 'Parent', остальная часть добавленного вами узла находится в узле с именем 'Parent'.
Так что, если вы пытаетесь получить индекс для узла в treeView1.Items, он вернет -1, за исключением узла с именем 'Parent', для которого он вернет 0.
чтобы изменить код для удаления узла, как показано ниже.
private void button2_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = treeView1.SelectedItem.ToString();
int index = treeView1.Items.IndexOf(treeView1.SelectedItem));
if(index < 0)
{
index = Parent.Items.IndexOf(treeView1.SelectedItem));
}
if(index > 0)
{
Parent.Items.RemoveAt(index);
}
}