Atualizar a função do usuário atual quando alterado na estrutura de identidade do ASP.NET?

Usando o VS 2013, modelo MVC padrão e a estrutura do provedor de identidade

O usuário está logado e eu tenho:

//....
UserManager.AddToRole(User.Identity.GetUserId(), "Members");       # Line X
RedirectToAction("Index", "Members");

E o controlador de membros é o seguinte:

[Authorize(Roles="Members")]
public class MembersController : Controller
{
    // GET: Members
    public ActionResult Index()
    {
        return View();
    }
}

Após a execução da linha X, posso confirmar que o usuário foi adicionado à tabeladbo.AspNetUserRoles. No entanto, o usuário ao alcançar o controlador Membros falha na verificação da função.User.IsInRole("Members") retorna falso.

Se o usuário fizer logoff e depois efetuar login novamente, o acesso ao controlador Members será executado, ou seja,User.IsInRole("Members") agora retorna verdadeiro.

Existe algum cache? Por que o atraso? Como supero isso?

Eu também tentei converter o método na Linha X para um método assíncrono e useiUserManager.AddToRoleAsync. O mesmo efeito atrasado ainda está lá.