Does merging create a separate copy in memory of the data? If not, are there any operations which can change the data irreversibly?
Data Merging does not create a separate copy of the data. All data objects once parsed from file and created from files are handled by reference. Operations that mutate the data will be reflected in the original dataset in the application(not in the source data file though) as well. The merged dataset can be exported in various formats to persist the operations performed on it.