Существуют тонны статей и постов в блогах, которые оплакивают использование хранения сложных объектов (технически хранящих ссылки на указанные объекты) в переменных сеанса. Вообще, я думаю, что переменные сеанса - это работа дьявола, и я делаю все возможное, чтобы их избежать.
Тем не менее, для приложения, развернутого в интрасети, где разработчик полностью понимает влияние масштабируемости чрезмерного использования сеансов, как описывает Хуан Мануэль, я делал это много раз и с большим успехом. Да, сеанс может быть перенесен, но это необычный крайний случай - он не происходит достаточно регулярно, чтобы повлиять на приложения браузера с рациональным временем ожидания сеанса.
Я бы сказал, создайте приложение так, как вы предлагаете, Хуан Мануэль, по крайней мере, сначала. Но спрячься там, где ты сохраняешь и получаешь объекты из сеанса (возможно, с классом-оберткой), так что, если приложение потребует, это легко изменить позже.