I have a server that maintains some ID information. Every 15 minutes, an external application runs to remove any old IDs, insert new ones and updated all existing. When this process runs, my SQL instance's page faults sky-rocket, memory sky-rockets, but the process is done in just a couple of minutes. However, SQL server seems to maintain the data used during the processing in memory for at least an hour or more afterward, causing other applications to act up. I've set memory usage to dynamic in SQL (256MB min, 384MB max), but its virtual size is still in the 600MB range.
There's no way to tell SQL Server to release memory, but if that memory really is not used anymore, it will be released as soon as any other application requests it to the O.S.; so applications shouldn't "act up" if that memory in SQL Server is actually ready to be freed, because SQL Server would then be more than happy to release it as soon as it's needed.
Anyway, there isn't anything you can do about this; your only option to instantly release memory is restarting the SQL Server service. If you really think this is needed, do a service restart as soon as your application is done updating the database.