My phone was SODing all the time, I finally set my Gmail to Manual, and made sure it completed before putting it to sleep.
Last night I deleted my gmail account and set it up through outlook exchange and now my gmail is pushed to my phone automatically. It's been over 12 hours now and it is running like a champ! Just another way to get gmail without going through imap.
I followed these instructions:
Setting Up Your Windows Mobile Phone for Google Sync : Mail, Calendar & Contacts Sync - Google Mobile Help