Is there anything I can do to reduce the garbage created?
I have used the XNA Framework Remote Performance Monitor Tool for XBOX 360 to see when garbage is created, and it's definitely connected to the character. I used the CLR profiler for windows to try to determine where it is created, however it's confusing to use, the best I can determine, as wild guess, is it's something to do with collision pairs, maybe, I don't know.
I have updated to the latest development version, as I noticed you have made many changes to the character controller.
Any help at all would be greatly appreciated.

EDIT
I just noticed in this thread: viewtopic.php?f=4&t=1753 that If I use the character's body tag I must implement ICharacterTag. Is this the Body.Tag or the Body.CollisionInformation.Tag? As I currently do modify the character's body tag.