In a simple windows setup we have a COM singleton that runs as an out of process server.
Clients connect by calling cocreate and each receives an interface to the same instance of the server.
If clients shutdown normally they release their references.
The server has a bit of logic that keeps it alive for a short time after the last release to allow for new connections.
I'm interested in one special case - the server is running with only one client which crashes (consider this to be any random unknown crash) and the client exits without having released its references.
I observe that after a undefined period of time say 8 minutes the server receives release calls on the stubs of any objects that the server had returned interfaces from to the client. This appears to be an automatic cleanup that I assuming is started by the LRPC layer.
Is this documented anywhere and is the timeout configurable?
Note: Multithreaded apartment model used throughout.