I'm working with OpenTK and had an intermittent problem wherein sometimes things would fail to draw. I double checked my data and it was correct so I looked at how the VertexPointer method in particular was implemented. It appears to get a pointer from .NET/Mono for the array passed in, retain it just for the duration of passing it to GL, then discard it. This is a little misleading, and seems like the method should be marked unsafe.
On the other hand, I should stop being lazy and make this editor tool use VBOs!
Thanks for reading.