Как вы и подозреваете, задержка пинга! = Время прохождения сигнала по TCP, особенно, если передаются данные. Вполне возможно, что все это происходит из-за задержанных ACK (которые могут накладывать ~ 200 мс, общая настройка по умолчанию) или из-за плохого взаимодействия между Nagle / и DACK, которое может увеличить его до ~ 500 мс. Захват пакета в порядке здесь.
Также обратите внимание, что задержанный таймер подтверждения не зависит от потока TCP и создается при загрузке системы. Таким образом, он может срабатывать в любое время между 1-200 мс внутри потока и обычно вызывает задержку в стиле «диапазон», как вы описываете.