Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!
Удалять через цикл поэлементно мне кажется для данной задачи неоптимальным решением, как я понимаю, это тысячи запросов к бд, вместо одного.
Есть другой, несколько более прямой, пока непроверенный, но описанный в доках метод, суть которого в удалении секции вместе со всем содержимым, но для этого придется все элементы внутри инфоблока помещать в некую секцию, что, в общем-то, тоже костыль. Надеюсь, что есть нормальный способ удалять элементы без костылей.
Если нужно выполнить удаление элементов из корня одним запросом, то, скорее всего, нужно писать это обычным SQL-запросом. Когда писал скрипт со сложными взаимодействиями с инфоблоками, то выяснил, что API часто не предоставляет функций для массовой работы с данными или даже хотя бы копирования элемента инфоблока, которое пришлось реализовывать через GetList и последующий Add.