Это странный дизайн.Как отмечает @Joel C в своем комментарии, вы должны рассматривать контекст объекта как недолговечный объект, который вы создаете, когда вам это нужно, и отпускаете сразу после этого.
Но я не вижу причин, по которым это может привести к утечке памяти.Вы имеете дело только с управляемыми ресурсами и все время используете один и тот же ключ для HttpContext
, поэтому вы не будете создавать новые объекты повсюду.