That would be correct.
One process can hold a port open. In your case it's a virtual service running in VSE1. I'll assume you're running HTTP virtual services, so it's the HTTP bit that's holding the port open.
If you have another process, for example on VSE3, it cannot open the port, because the port is already open elsewhere.
In VSE1, you can start another virtual service of the same protocol, connected to the same port. The virtual service itself is a thread (I've probably got the terminology wrong, and I'm sure someone will correct me), and the protocol support is the process.
So, a second HTTP virtual service can use the same port, as long as its in VSE1.
If you try to open a TCP virtual service on the same port, even in VSE1, you will receive a "port already open" error, because TCP and HTTP are different processes.
If you try to open a HTTP virtual service on the same port, in a different VSE, you will receive a "port already open" error, because they are different processes.
It's not a DevTest thing. Try running two different web servers on port 80, and you see the same behaviour.