I definitely prefer dynamic allocation and release of memory. As mentioned above, this is requiring the user to guess, which is bound to be wrong, and takes memory away from samplers. If I say 8GB but only use 2GB, then 6GB is "locked out" for no reason.
What would be cool is something similar to Geist's RAM footprint. Geist tells you on the UI just how much memory it currently has allocated for the samples loaded. The user doesn't control this but can easily monitor how hungry Geist is while loading samples.
If only every VSTi had such a thing it would let users monitor more specifically than SONAR as a whole. SONAR is a host, so has very limited ability to "enforce" any VSTi's behavior.