Так что это старо, но я решил оставить здесь ответ кому-нибудь в будущем.
http://forums.asp.net/t/1500473.aspx
Какой-то парень говорит, что сессия создается при первом ее использовании. Мой собственный опыт подтверждает это, с одной оговоркой: если у вас есть два метода действий, выполняющихся одновременно, то первый, который обращается к сеансу, по-видимому, заканчивает другой сеанс вторым. Я попытался решить проблему с помощью своего кода, но в итоге решил его, инициализировав свою сессию раньше в моем процессе.