Ho trovato un interessante articolo che spiega in dettaglio il ViewState: come funziona, quando è sconsigliato usarlo, quando non è necessario... Si trova qui:
http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx
Merita un'occhiata.