I have voted up SergeyT's answer. Reasoning is this:
A VS Package is not just a class which you can instantiate like any other class. It is a special class which is loaded up by Visual Studio, and kept in memory as a Singleton. This Package is wired into various VS Events, and is meant to serve as a provider of functionality to the various parts of your overall extension.
Getting an instance of it is not the same as getting the actual package loaded up by Visual Studio.
To accomplish what you're after, you need to use code as SergeyT has suggested:
var vsShell = (IVsShell) ServiceProvider.GlobalProvider.GetService(typeof(IVsShell));
if(vsShell.IsPackageLoaded(MyPackageGuid, out var myPackage)
== Microsoft.VisualStudio.VSConstants.S_OK) {
_myPackage = (IMyPackage)myPackage;
}
By doing this, you are ensured to get the one and only Package reference, rather than just an instance of the class.