BTW I don't know if that may help you but from what I understand of GUI session management, it only involves window positioning, not their configuration — I'm not talking about GUI widgets, of course, which configuration *is* about positioning and look. For instance, `gedit` doesn't "remember" the documents that were opened, only its placement was stored in the GUI session.
This also happens to be the case for the applications I use. Not that I hereby assume that's how it should be done, of course, it's only what I've noticed so far. Then there's firefox, which saves changes as soon as they appear, most probably the way I described earlier.
Anyway, I know no application so far, except Geany, which saves its configuration upon exit.