Blame Google on that one. IIRC Yahoo mail on the iPhone offers push mail using IMAP and IDLE commands to keep a persistent connection to the server. I have my own IMAP server and I use this method as well. It's as good as my BlackBerry push e-mail through Sprint. Apparently Google either doesn't fully support the IDLE command or has time limits -- otherwise it should work just like Yahoo IMAP/IDEL push.