I've been doing a lot of inside work on my rendering library, and I've made a whole bunch of changes that I don't fancy redoing.  However, recent code that uses it is crashing in strange ways.  The program will run perfectly for a few seconds, and then suddenly, it will crash, on simple calls, like glCallList, glDisable, glUniform1f.  In some cases, calling the same function immediately afterward works fine, but the program crashes on subsequent opengl operations. 

There's no repeatability--sometimes a program will work just fine for as long as I test; then running the same program again later will cause an error almost immediately. 

It's incredibly strange, and I don't know what to do.  I think I must have added a bind to a buffer or something that's not being balanced later.  At the moment, I need help figuring out what general situations would cause such problems.  I've noticed the errors in fairly complicated code, like certain GPU cloth situations and shadowmapping.  Any possible ideas as to what might possibly be causing these errors?