A "session" exists only as a logging construct. Individual connections (when bundled together by the gateway) comprise a session. The techniques you mentioned are to kill a connection (or connections) and do work. However when a new connection starts back up after the kill that is substantially similar to the previous ones being tracked by a current session, that connection is added back in to the existing session for logging purposes and that is what you are seeing.
If you'd rather not see these session logs, just uncheck "per Session" in the properties of the Track column for the matched rule, and make sure "per Connection" is checked there instead which will give you the more traditional per connection logs which will show that your connection-killing efforts are working as expected.
All I can say for the moment is that some clarity on this somewhat confusing issue is hopefully on the way, and may be delivered in a very public forum in the near future by someone well known here at CheckMates.
Gateway Performance Optimization R81.20 Course
now available at maxpowerfirewalls.com