Milan Negovan has written an article to provide in-depth prospective on viewstate mechanism. In his article, he suggested some of the do's and dont's on using viewstate, for example, how simply disabling view state of the whole page can greatly enhance the performance of page, if you just need to display a DataGrid on the page with no PostBack.
I have seen many times, that developers left EnableViewState true even if they simply have to display a basic report page containing a grid control. This leads to a page generate huge rendered page payload for the viewstate.
Alternatively, you can also contemplate storing viewstate at server side. How? Milan has answer of this question as well in his article.