Как примечание, блокировка абсолютно бесполезна, поскольку вы блокируете доступ к локальной переменной «пользователь», которая не будет меняться между строками «if (user == null)».
Вы намерены заблокировать доступ к элементу Context.Session [CURRENT_USER], поэтому ..
User user = (User)Context.Session[SessionKeys.CURRENT_USER];
if (user == null)
{
lock (_lock)
{
user = (User)Context.Session[SessionKeys.CURRENT_USER];
if (user == null)
{
user = _userBusiness.Find(CurrentUserId);
Context.Session[SessionKeys.CURRENT_USER] = user;
}
}
}