Take one looped message and compare its repeated Received headers.
Identify the systems that appear over and over. Then inspect routing rules, connectors, forwarding and automatic responses between those systems.
If the loop is actively generating volume, contain the responsible rule or route according to your change process before cleaning queues.
Check whether duplicate messages already exist in downstream queues after the cause is fixed.