Объясню на недавнем примере из практики: в некоем интернет-магазине на Битриксе всё падало после попытки провести поиск по определённым образом заполненному фильтру в магазе. В коде всё было вроде как правильно, но более глубокий анализ показал, что Битрикс(от большого ума), самостоятельно сформировало запрос таким образом к SQL, что время выполнения данного запроса было более полутора часов.
Возвращаясь к вашему вопросу: кэширование может и стоять, но проблема может крыться в самом Битриксе, либо в вашей архитектуре построения страниц конкретного магазина. Скорее всего, проблема будет крыться в самом Битриксе. Делайте полный аудит приложения и разбирайтесь по порядку. Как вариант могу только предложить заменить некоторые стадартные функции Битрикса(те, от которых всё виснет, разумеется) на самописные костыли в определённых местах. это может повысить производительность немного. Но если менять архитектуру или писать костыли невозможно(слабо верю в такое), то придётся отказываться от Битрикса.