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