Correctly handle invalidation in GetAndFetchObject
Don't access _inflightCache outside the lock in the Finally block