Создание контекста не такое сложное и не жрёт много ресурсов.
Другое дело когда контекст хранит в себе БД. То есть сайт кэширует бд в себя, что бы повысить скорость и отклик.
Я обычно использую контекст на контроллер, а не на транзакцию, пишу обычную private MYDBCN mydb{get;set;}
и
protected override Dispose(bool dispose)
{
mydb.Dispose();
}