Here is what happens: PDE (eclipse 3.4) does some hidden magic when you run an eclipse application (lets call the launch configuration
foo): it creates a directory in
.metadata/.plugins/org.eclipse.pde.core/foo. This directory is used with the
-configurationflag when running the application to store the runtime configuration of your application. But, there can be cases when this directory is not updated correctly, like when you switch between "launch with all enabled and workspace plug-ins" and "plug-ins selected below". It can happen that the runtime application still uses all plugins although you have selected to run with some specific plugins. I have not tested the exact conditions when this happens, but it happened several times to me in the last months.
Unfortunately the "Clear workspace" flag does not help, because it clears the workspace but not the configuration area! It took me several hours to figure that out....
As Chris points out in the first comment, here is the solution: On the "Configuration" tab of the launch configuration check the option "Clear configuration area before launching".
Chris also recommends to use
-clean -consoleLog -debug -consoleas arguments for plugin development launch configurations. In this case, the
-cleanoption takes care of cleaning the configuration area.
Tip: you can set
-clean -consoleLog -debug -consoleas default in Preferences->Plug-In Development->Target Platform->Launching Arguments->Program Arguments
I hope this tip saves someone some wasted time...