Pero ¿qué quieres, pasarte con esa bobada de problema 30 años?
Yo ya sé que es muy bonito eso de pintar cosas en un grid, que no sólo aparezca texto, sino dibujitos, y que cambien cuando pasas el ratón, y cosas así. Pero si haces eso, hay que hacerlo bien, porque si lo haces como lo has hecho tú, te pasa lo que te está pasando, y te seguirá pasando mientras no lo hagas bien.
Te repito (si alquien me pregunta por qué tengo que estar repitiendo las cosas no sabría qué decirle), has capturado el evento paint del windows, o sea, por ejemplo, el cellpaiinting del grid. Ahí, por ejemplo pintando la banderita, has cometido un error, has hecho algo mal. Una vez hecho algo mal, el windows ya no puede seguir pintando la ventana, y hace lo que te hace y cosas peores.
Así que si quieres solucionar tu bobada de problema pon el código que pinta y cronometra a ver si tardo más de 10 segundos en decirte qué error has cometido