If your are doing a "shell and wait" or "wait until finished" call then you are doing right. Windows then automatically assigns any memory that your app is using as lowest priority and thus when more memory is needed from another app the contents of those addresses are dumped to the swap file and the memory is freed. It's quite nice how windoze does this automatically for us.
Now if you were to launch an app via a batch file with a wait command without locking the fe this wouldn't be the case.
So yes, you are probably good. As I said to the poster, it's not really an issue on a modern fe.

**edit**
but if any of you smarties out there try to monitor the resources being freed you won't see it happen.
Why? because the used memory is only dumped to the hdd when it's needed by the other app. So of dk takes up 250 mb of your memory when you launch mame it's still gonna show 250 megs being used (maybe more). Because the game frees up any memory that it needs and any remaining "dk memory" would be left in place until it's space is needed.
I hope that makes sense to everyone, because it's hard to explain in proper technical terms. (And thus I opted not to)