It was saving the expanded items, collapsing, then restoring the expanded items next time.
Not quite what I see for <CTRL><g>, so I'm a little confused by this statement. Here's what I see with
Tree & View > Tree > [ ] Auto expand unchecked:
1) If tree is collapsed completely, then <CTRL><g> expands all branches completely.
2) If tree is expanded completely, then <CTRL><g> collapses all branches completely.
3) If tree is partially expanded, then <CTRL><g> expands all branches. Applied again it collapses all branches. Applied again it expands all, etc. cycling between 1) and 2).
This pattern is consistent, but not very useful for me since there is no restore of my previously selected subset of expanded branches.
I would greatly prefer:
1) <CTRL><g>
does have memory of my expanded branches, and cycles directly between Collapse All / Expand Subset, i.e. expands (restores) just the subset which I had previously expanded. From a fully expanded state, it traverses to Expand Subset (if it exists), and then to Collapse All.
2) Implement <CTRL><SHIFT><g> to directly Expand All branches / Collapse All branches.
3) User creates a new "restorable" subset by modifying any of: the fully collapsed state, the fully expanded state, or the previous restorable subset. From a new restorable state, <CTRL><g> naturally goes to Collapse All.
I find <CTRL><g> has no affect on branches in the Tags Tree. It would make logical sense for it to have the same set of collapse/expand actions in the Tag Tree as it does in the main Tree (though the RMB menu Expand All / Collapse All in any tag section header is already pretty convenient).
Since you're going to make this a v32 implementation, I guess I should have also noted that tree nodes for Streaming, Explorer (under Drives & Devices), and Services & Plug-ins remain fully expanded after selecting a new tree node or tab, forcing the user to manually collapse those items.
In this regard, I'm perfectly OK with the current "additive" and "manually close" behavior of those branches. I do not want the tree view to change when I select a new tab, except for the highlighted line in the Tree jumping to the tab selection (and expanding the corresponding branch if necessary to see it), as it does now.