I guess that your 'root-level' menu items would have their conversation propagation set to false.
As to not 'having unused conversations hanging around', I think you'd have to do your own cleaning-up of them in java code.
this is what I expected - what I also need to do at times is to pop just some nested levels but still propagate the top conversation(s).
From what I understand a call to @End always ends the inner-most Conversation? If I need more control over the conversation stack for ex if I need @End somewhere else then inner-most Conversation I do need to code this 'by hand'?
That's what I understand too. Not too sure how you get to analyse the conversation stack though.