It seems like you may be going over the "# or requests per second" limit. As mentioned in the documentation:
You can exceed the Google Maps API Web Services usage limits by:
- Sending too many requests per day.
- requests too fast, i.e. too many requests per second.
- requests too fast for too long or otherwise abusing the web service.
- Exceeding other usage limits, e.g. points per request in the Elevation API.
To verify that you are hitting that limit:
Upon receiving a response with status code OVER_QUERY_LIMIT, your application should determine which usage limit has been exceeded. This can be done by pausing for 2 seconds and resending the same request. If status code is still OVER_QUERY_LIMIT, your application is sending too many requests per day. Otherwise, your application is sending too many requests per second.