Split memory management

Some attempts to address #1079 -- just for discussion at this point.
Why doesn't the session keep a split generation in this case? Should it only keep a split generation if it created it?