I have used the option of the better methods from this document http://msdn.microsoft.com/en-us/library/system.web.ui.sessionpagestatepersister.aspx
protected override PageStatePersister PageStatePersister
if (_pers == null)
_pers = new SessionPageStatePersister(this);
Everything works great, the viewstate is no longer on the page and is moved to session. But how does this get released from the session. I don't see it released and my servers cpu memory is growing indefinetely.