I added the sleep to see where the blinking is happening.
I thought first it blinks due to the program startup, but on my PC there is some ugly blink right after the 3 second sleep (actually it looks like the fade out starts with a black image/screen), and at that time I would guess it is not anymore caused by any startup or setup of the screen.
I tried to move the _limit to after display as you suggested, but don't see any difference.