I am not sure why big imports are eating up memory, but I have a job in my to-do to look into it. I think there is some thumbnail data not being deleted from memory correctly. For now, if you are importing through a normal hdd import page, try to keep it to a few thousand at a time.
It probably isn't viable to manually re-import all 50k every time you want to resync. The 'is this file already in the db' check is pretty quick, but it does require reading the whole source file, which can add up.
An import folder, which regularly checks a directory you tell it to for files to import and remembers and skips the paths it has previously attempted, should do what you want, but make sure you set it up carefully. Look under file->manage import folders and click add. Since the origin folder is so large (and so will take a couple of minutes simply to parse), set the check period to 1440 minutes, which is once a day, and set every 'when a file x' action to 'leave the file alone, do not reattempt it'. Don't set anything to 'delete the file' or 'move the file', or your original collection will be changed. Every day, your client will scan your folder and try to import anything new.