В чем разница между использованием двух следующих утверждений? Мне кажется, что первая "как строка" относится к типу, тогда как вторая ToString является фактическим вызовом метода, который преобразует вход в строку? Просто ищите какое-то понимание, если оно есть.
Page.Theme = Session["SessionTheme"] as string;
Page.Theme = Session["SessionTheme"].ToString();