Just to clarify what AESulzer said, it isn't that when the VI that created the reference is closed that LV closes the reference, but when the top level VI stops. Here is how it works...
WARNING WARNING WARNING - This is a behavior that is based on the way LV code works currently. No commitment that future releases of LV will clean up leftover references in the exact same way - WARNING WARNING WARNING
Sorry - gotta say that. I don't see it changing in the near future but just want to cover my bases. Anyway, back to the story...
When a VI opens a refnum based item (such as ActiveX, .NET, files, etc), we register a cleanup procedure in the top level VI of that system (VI A calls VI B which calls VI C which opens the reference - then the cleanup waits for VI A to stop).
If you then manually close the reference (which you should do, especially if you are creating references over and over again in a long running application), we unregister the cleanup for that reference. However, if you don't, when VI A stops running, the cleanup procedure goes through and closes the references for you. Thus in a general application (such as the A, B, C example above), the references are closed when the application stops.
In your case, I am guessing that your splash screen is the top level VI when you are openning your references. Thus when you switch off to a different execution stack of VIs, the splash screen stops and we close the references.