I wonder now if it’s SC-IDE.
After a quick look at the code, SC-IDE seems to properly wait until the old sclang
process has finished before starting the new one.
It could also be that the OS intentionally keeps the UDP port open for a while, e.g. to prevent inbound messages still in transit to be received by the wrong application. Will do some tests later.