Best Practice to split an application to avoid Virtual Byte Limit.
If many Analysis Unit are regrouped in the same Execution Unit -- This will lead to a memory issue.The solution would be to Splitting the Job / Execution Units, this solution will reduces the number of objects analyzed by the job. For more information please refer to the following page: CMS Analysis Unit - Information - General way to split analysis units or jobs
How to change the application versions after the analysis without loosing the analysis results

1/ reject the version

2/ manage the delivery

3/ Change the name, then deliver  

4/ Accept the delivery and set as current version 

How are dependencies created during migration?
Dependencies are created based on the common screen in AnaMan jobs where you select the targeted objects.