Using Activity Monitor to view application loaded modules, my tests show that preferences option “Keep Plug-ins in Memory until the Application Quits” works only for VST3 plugins.
This option needs to work also for VST2 plugins, because of this in the Apple macOS documentation…
“the Objective C runtime does not support the unloading of Objective C code”
If a VST2 plugin, coded using Objective-C, is inserted in a Cubase project, and later removed, then it will leave the Objective-C runtime in an unstable state. Cubase will almost certainly crash as a result of this.
(macOS 10.14.6, Cubase Elements 10.5)