But according to the documentation session class
A session is specific to a round and not persistent over rounds.
Type for which there is a single instance per round. Use
GetSessionto get the current round’ssessioninstance. May be used withweak_mapto implement global variables. Note: may be changed in a future release to a single instance per game. Round-local behavior should not be relied upon.
Which also explains my behavior in previous reply