The simple act of opening and closing packages in SSDT seems to lead to some sort of memory leak. I've tested this on my own solution and managed to run the memory usage of devenv.exe up to over 2GB. The memory required to open and display a package doesn't appear to ever get de-allocated when the package is later closed. When opening the same package over again, the memory usage of devenv.exe increases by the same amount as the first time it was opened as well, so this does not appear to be any sort of caching.
This can also be easily re-created with the adventure works refresh sample package located here: http://msftisprodsamples.codeplex.com/. Simply open and close it over and over, and watch the memory usage climb. It doesn't get de-allocated until devenv.exe is closed. Example snapshots of the WS of devenv.exe when opening and closing a package a few times:
process | state | WS bytes |
devenv.exe | start | 188,579,840 |
devenv.exe | open pkg | 296,566,784 |
devenv.exe | close pkg | 300,191,744 |
devenv.exe | open pkg | 327,499,776 |
devenv.exe | close pkg | 327,434,240 |
devenv.exe | open pkg | 354,357,248 |
devenv.exe | close pkg | 349,966,336 |
devenv.exe | open pkg | 373,522,432 |
devenv.exe | close pkg | 377,413,632 |
devenv.exe | open pkg | 397,266,944 |
devenv.exe | close pkg | 396,820,480 |
devenv.exe | open pkg | 413,175,808 |
devenv.exe | close pkg | 413,765,632 |
While opening and closing the same package over and over again is hardly a likely scenario to run across, editing my own solution (which contains over 90 packages) very easily leads to devenv.exe running out of memory and crashing.