Sub-apps have the same issue as modules regarding garbage collection. You have to make sure there aren’t any references back to the objects in the module and then the module will go away. The profiler will help you find those references, but it can be painstaking.
I don’t know about CallResponders, but any value objects being serialized need to be in the main ApplicationDomain. That shouldn’t matter if you are using XML and parsing yourself, but if you are using RemoteObject or using registerClassAlias then it does matter.