Care must be taken when caching and reusing security tokens that are returned from the GetTokenCore method, because the security token might become unusable when the channel that the token provider is associated with is closed. The security token becomes unusable when the requested key type is asymmetric and the thread is running under impersonated context when the GetTokenCore method is called.