Этот код:
TreeNode tn = new TreeNode();
создает актуальный предмет. Вы не дали ему никакого текста, поэтому он кажется пустым. Затем следующие две строки добавляют дочерние узлы к пустому узлу.
Если вашей целью является код в «A», почему вы пишете «B»?
Редактировать : ответ на ваш обновленный вопрос
У вас есть функция, возвращающая пустой корневой узел дерева, в котором содержатся нужные вам дочерние элементы. Итак, что-то вроде этого в порядке.
foreach (var node in returnedNode.Nodes)
{
treeView1.Nodes.Add(node);
}
OR
treeView1.Nodes.AddRange(returnedNode.Nodes.Cast<TreeNode>().ToArray());