Если для дерева решений количество функций очень велико, оно может стать очень очень большим.Чтобы ответить на ваш вопрос, да, он остановится, если найдет чистую переменную класса.Это еще одна причина, по которой DecisionTrees склонны выполнять переобучение.
Вы хотели бы использовать параметр max_depth при использовании Случайного леса, который не выбирает все функции для какого-либо конкретного дерева, поэтому не ожидается, что все деревья вырастут домаксимально возможная глубина, которая в свою очередь потребует обрезки.Деревья решений - слабые ученики, и в RandomForest вместе с max_depth они участвуют в голосовании.Более подробную информацию об этих отношениях между РФ и ДТ можно легко найти в Интернете.Опубликован целый ряд статей.
Итак, обычно вы хотели бы использовать max_depth, когда у вас большое количество функций.Кроме того, в реальных реализациях вы хотели бы использовать RandomForest, а не только DecisionTree.