You are confident that the daily usage is well below your daily 2M character limit. Have you checked logs for Quota Exceeded responses? Does your code indicate timeouts? It may be worth trying to raise your quota, and then verify if this changes the previous behavior in any way.
Timeouts are often an indication of networking problems. What is the output from a traceroute command, from you to Google? If you keep pinging
google.com for a while, are there any dropped packets shown?
Any other piece of information you deem relevant might prove of great value as well.