When persisting properties using "session" it would be nice if the session was only created after a non-null value was assigned to the property.
It should be enough to add a simple guard in AbstractSessionPersistentFieldStrategy#postChange
Session session = _request.getSession(newValue != null);
if (session != null)
allowing existing session values to be replaced if the session exists, but not storing a value if no session exists.