That is not the way to generate a fast square wave. The micro seconds delay has a resolution of 4 microseconds and digitalWrite takes too long.
Assuming you don't want to do anything else then change them to the direct port access equivlent instructions.
You could generate 253.97 or 258.06kHz by programming one of the timers
to count at full rate and wrap every 63 or 62 clock cycles (for a 16MHz system clock).
Arduino Due (<13$) can generate much higher frequencies. DueVGA library generates more than 30MHz for 960x720 monochrome display @47Hz
(not counting invisible pixels outside 960x720 area: 96072047/1024/1024=30.98):