Когда вы используете состояние сеанса StateServer или SQL Server, все объекты, которые вы сохраняете в сеансе, должны быть сериализуемыми. Для ваших собственных классов это часто можно легко исправить, пометив их атрибутом [Serializable], но для классов, предоставляемых сторонними разработчиками, нет тривиального исправления.
Если вы продолжаете сталкиваться с этой проблемой, вы можете рассмотреть возможность пересоздания ваших данных по каждому запросу, вместо того, чтобы вообще использовать состояние сеанса, но это другое обсуждение ...: -)