If you host your mail at Google, use IMAP, and use Mail.app, one of the problems you’ll notice is the number of messages Mail.app downloads. What’s happening is an artifact of how gmail actually works.
All messages, unless deleted, show up in the Folder called All Mail. So, when you receive new email, it shows up in your Inbox, and All Mail. I believe as far as Google is concerned it’s just a label, so you don’t end up with two copies. But, as far as Mail.app is concerned, these are two separate messages. So it downloads them twice. This causes some obvious problems. You can get around this issue, by using Thunderbird, or Entourage, or something that isn’t Mail.app. But, if you like Mail.app, except for this one annoying feature, you need to use a feature by Google Labs, called: Advanced IMAP Controls .
Steps
In case you don’t have Google Labs turned on: This is how you turn on Google Labs
Turn on Advanced IMAP Control in your account settings
Go to edit/list your labels and you’ll see something different

This is still a Labs feature, so the display is buggy. All boxes are selected by default, so you have to click on the box, and wait for confirmation that the label will be hidden. This tells the IMAP server on Google’s end, what folders to display to the IMAP client.
This isn’t the best solution, but it’s better than no solution. Considering Apple is mute on the forums about how their “Subscribe” function doesn’t do anything on any imap server, we have to assume Apple doesn’t care about it.