Sawtooth tkinter mainloop frame duration?
That closely resembles this kind of interference pattern when competing 60 and 50 Hz samples mingle:
This is likely caused by having two things at different (but close) refresh rates. It's the same type of thing that happens when you try to film a TV screen and it looks like a black bar keeps moving down the image, or when car wheels appear to rotate backwards around their axles in car commercials. It is essentially an extension of the Moiré Effect.
I don't know whether or not it is caused by video drivers and/or hardware, but it is almost certainly caused by interfering cyclical patterns. It looks a lot like it should be the GC cycle interfering with your for
loop (hence the sudden drop in the sawtooth-like wave as memory is freed up and can be allocated)