protected override void SaveState(Dictionary<String, Object> pageState)
{
pageState["SelectedCommentTreeMessage"] = _selectedCommentTree;
UnregisterShareSourceContract();
Content = null;
((CommentsViewModel)DataContext).Cleanup();
DataContext = null;
//we've just thrown away a very expensive object with lots of unmanaged resources (the view bindings)
GC.Collect(3, GCCollectionMode.Forced, false);
}