The basic idea is that one session equals one minor milestone. But sometimes you just don't get that far, so it can make sense to give the milestone later. If that's the case, it might still make sense to give a refresh, if there is a good justification for it. Maybe at the end of the session the characters are getting some rest to be fit the next session. That sounds like they should be refreshed after that. Or maybe there is something happening that lifts their spirits, that could count as a refresh as well.
But if you tie refresh to the time you're playing, that makes it easier for everyone to use it to their full potential. They know they can throw it all out when you're half an hour away from the time you usually end the session, which in turn will mean they will do more cool stuff with it and not just horde them because they don't know when they will get more.