I've long been concerned about the size of v13wstat3 on some of the pages on our company intranet due to the complexity of several of the modules I've written (HelpDesk, Calendar system, etc) and their need to retain state about user selection. Some pages, for example, reach sizes of up to 150-180kb. Ouch! That is without the external references such as images, CSS, javascript, etc (which cache themselves, so only initial requests are nasty).
I was doing some research and came across a really interesting article: http://www.codeproject.com/kb/aspnet/v13wstat3persistance.aspx which basically entails some page attributes you can use to set it up. It also makes use of some .browser files to default the v13wstat3 management on all pages at once (which makes it easy to apply to DNN without any core mods).
I have applied it to a staging environment of our intranet and used Fiddler to check the requests between a live version and the staging version (with virtually identical information and requests) and watched a 158kb request shrink to ~80kb. That was the most drastic change, the rest are only averaging between 2kb-20kb. Still, thats HUGE.
The only thing that would need to be done with the article mentioned above is instead of adding some code to Global.asax (since that is a core change) is create a module with a scheduled event that runs on application start to clear the cache files (see article to understand). I've taken the PageStateAdapter class from the code and offloaded it into a separate DLL so it becomes "portable" for my testing.
Sweet stuff!