Как только Visual Studio загрузит ваш двоичный файл VSPackage, он останется загруженным в память до завершения процесса. Это просто часть архитектуры Visual Studio.
Вы должны изменить свое расширение, чтобы учесть тот факт, что у пользователей Visual Studio будет открыто несколько решений в течение одного сеанса.
Этого можно добиться, разработав свои объекты так, чтобы они были связаны с определенным решением.
Вы можете подписаться на события решения в пакете Visual Studio через интерфейс IVsSolutionEvents . Когда вы получите уведомление о том, что решение закрыто, уничтожьте ваши объекты, связанные с этим решением.