На мой взгляд, лучше CIBlockSection::GetList() с $bIncCount=true, тем более что ваш метод CIBlockSection::GetTreeList это всего лишь:[CODE]public static function GetTreeList($arFilter = array(), $arSelect = array()) {
return CIBlockSection::GetList(Array("left_margin"=>"asc"), $arFilter, false, $arSelect);
}[/CODE]
return CIBlockSection::GetList(Array("left_margin"=>"asc"), $arFilter, false, $arSelect);
}[/CODE]
В этом вопросе самое главное - вопрос производительности, особенно если разделов много. А для каждого раздела получать данные в цикле это нерационально.