I created a pretty simple app that uses MapKit and GoogleMaps frameworks and tried to switch between the two maps. I am using ARC (ios 6.1) and Google Maps SDK for iOS versi
We were having the same issues after first integrating Google Maps into our iOS app. The solution that seems to work for us so far has been to wait some period of time after releasing the GMSMapView and all related Google Maps objects, prior to instantiating any MapKit objects.
Based on our testing to thus far, our thought is that the GMSMapView object hierarchy is released asynchronously, and doesn't seem to aggressively re-establish its EAGLContext as "current" prior to releasing OpenGL resources. So if MapKit switches the current EAGLContext, then the GMSMapView hierarchy proceeds with releasing resources, you get a cross pollination of OpenGL resource release.
So our steps are:
So far this has worked for us. Good luck.