Here is the documentation on starting a dedicated Matlab automaton server using Windows COM (emphasis is mine):
======== Starting a Dedicated Server
To specify a dedicated server, use the ProgID, matlab.application.single, (or the version-specific ProgID, matlab.application.single.N.M).
Each client that requests a connection to MATLAB using a dedicated ProgID creates a separate instance of MATLAB; IT ALSO REQUESTS THAT THE SERVER NOT BE SHARED WITH ANY OTHER CLIENT. Therefore, there can be several instances of a dedicated server running simultaneously, since the dedicated server is not shared by multiple clients. ========
However, in my own testing, I found out that the emphasized part isn't true at all. To wit, here is a Python session showing me starting a dedicated server that turns out to be not so dedicated:
So an instance was started as a dedicated server, but then attempting to create a non-dedicated server, it ends up connecting to the previously created dedicated server. The same behavior occurs if the two clients are started from different Python processes.
This a bug in Matlab; the documentation doesn't match the behavior. Besides the fact that this violates containment, it's also a potential security issue.
Is there a workaround for this; a way to prevent other clients from connecting even when started as a server? Version is 2013a if it matters.