Полагаю, что если бы вы точно написали, что делаете, ответ был бы более ясным.
Вы пишете, что ввод: 1 2 3 4 13 6 4 7 8, но это приведет к ничто
строка:
string read = Console.ReadLine();
будет использовать его и вернуться к той же строке, ожидая ввода. Я предполагаю, что ваш фактический вклад:
1
2
3
13
6
4
7
8
, но все остальные из них будут использованы только вышеуказанной строкой
2,4,6,7 будет потребляться линией:
root.grow(Convert.ToInt32(Console.ReadLine()));
что соответствует вашему результату. изменив эту последнюю строку (после внесения изменений, которую предлагает Джон) на:
root.grow(Convert.ToInt32(read));
добьется цели (если мои предположения относительно вашего фактического ввода верны)