The opengl check leaked some objects when it failed and it made some opengl calls even if it failed.