JwtSecurityToken não expira quando deveria

Atualmente, estou usando a classe JwtSecurityToken no espaço para nome System.IdentityModels.Tokens. Crio um token usando o seguinte:

DateTime expires = DateTime.UtcNow.AddSeconds(10);
JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler();
var genericIdentity = new System.Security.Principal.GenericIdentity(username, "TokenAuth");

ClaimsIdentity identity = new ClaimsIdentity(claims);
string secret = ConfigurationManager.AppSettings["jwtSecret"].ToString();
var securityKey = new     InMemorySymmetricSecurityKey(Encoding.Default.GetBytes(secret));
var signingCreds = new SigningCredentials(securityKey,     SecurityAlgorithms.HmacSha256Signature, SecurityAlgorithms.HmacSha256Signature);
var securityToken = handler.CreateToken(
    issuer: issuer,
    audience: ConfigurationManager.AppSettings["UiUrl"].ToString(),
    signingCredentials: signingCreds,
    subject: identity,
    expires: expires,
    notBefore: DateTime.UtcNow
);
return handler.WriteToken(securityToken); 

Por algum motivo, mesmo que a expiração seja definida para 10 segundos após o horário atual, ela não gera uma exceção quando o token está sendo validado até cerca de 5 minutos. Depois de ver isso, pensei que talvez houvesse um tempo de expiração mínimo de 5 minutos, então configurei o tempo de expiração para:

DateTime.UtcNow.AddMinutes(5);

Ele expira em 10 minutos, mas a mensagem de exceção diz que o tempo de expiração é definido como deveria (5 minutos após o usuário efetuar login) e, quando mostra o tempo atual na exceção, é de 5 minutos após o prazo de validade. Portanto, parece saber quando DEVE expirar, mas na verdade não lança a exceção até 5 minutos após o tempo de expiração. Então, como o token parece estar adicionando 5 minutos a qualquer hora que eu definir para expirar, defino o tempo de expiração para:

DateTime.UtcNow.AddMinutes(-5).AddSecond(10);

Eu testei isso e até agora ele ainda não expirou (depois de mais de dez minutos). Alguém pode explicar por que isso está acontecendo e o que estou fazendo de errado? Além disso, se você vir mais alguma coisa com o código que forneci, qualquer orientação será apreciada, já que sou novo no uso de JWTs e desta biblioteca.

Agradeço antecipadamente

questionAnswers(4)

yourAnswerToTheQuestion