I agree with trsvax that avoiding session use is good. I can see that by adding appropriate onActivate / onPassivate methods to my ListPersons example, you could avoid session use.
I had a quick look at the PageActivationContextWorker and from what I can see, @PageActivationContext is mandatory so will not work for this case where it might be null. Perhaps a nice addition might be @PageActivationContext(false) in a similar way to @Environmental. Since onActivate() is called more often than you might think, I would avoid using @PageActivationContext for complex objects (ie hibernate entities) and I think it should only be used for storing the id's. Geoff describes this more here http://jumpstart.doublenegative.com.au/jumpstart/examples/navigation/onactivateandonpassivate/3