I'm trying to express that, at some point in the future, something should have been removed from a collection after a certain event happened.
The exact sentence I used for this is (it's about caching of sessions in a web application):
This is an expired session that should have been removed from the cache after a new session has been saved.
This sounds really wrong to me (not a native speaker), especially the should have been. If I use it like this, it sounds like I want to express that the session won't be saved even though it is supposed to.
Now my question is: Do we use Future II like this? And does it only sound strange to me because I'm not used to it, or because I have misunderstood something completely?
Also, if so, I'd be happy if someone could rephrase this sentence for me, as I also have the feeling that I might have messed up the tenses in it completely anyway.