Update: Microsoft has confirmed this is the issue. See my newer post for more info.
The reason Rafael is so valuable is because he can do stuff like this: Prove that Yahoo! Mail is the reason some people are experiencing massive data usage issues on Windows Phone.
Sniffing out IMAP packets to and from a Windows Phone isn’t as straight forward as it sounds. Microsoft’s IMAP4 implementation is very aware of the STARTTLS extension emitted by IMAP servers and switches to encrypted communication as soon as its detected, kinking the sniffing operation. (Worse, there’s no official UI for forcing clear-text communication.) To workaround this, I wrote a quick nodejs script to strip IMAP connections of the STARTTLS bit and passed them on to their destination.
What I discovered was shocking, although not surprising. Yahoo’s IMAP server (winmo.imap.mail.yahoo.com) does not respond to FETCH requests correctly.
Yahoo is sending ~25 times as much data as it needs to. (This can also be read as: Your phone is downloading ~25 times as much data as it normally would, had you sided with another email provider.)
This doesn’t mean that there aren’t other issues in Windows Phone that are causing data to leak. For example, I believe there to be a bug in the OS that causes Wi-Fi to disconnect under certain conditions, unnecessarily firing up extra 3G usage routinely. But I’m guessing this is a big part of the problem, the major part of it.