What could be the reason for this flickering of this periodic pulse train?
Interrupts are occurring while your code is running. The time required to execute the interrupts is significant compared to your desired delay of 2 microseconds. This disturbs your desired timing.

Your options include disabling interrupts while generating this clock signal, but that is likely to have undesired and unintended consequences. A better idea would be to find some way to generate the clock using only hardware resources rather than a delay loop.