I’ve tried to do a similar thing, although in my case instead of a chroot environment I just have two copies of Sublime 3 installed, a “main” and a “sandbox” version, so that I can try out plugins or diagnose problems in a clean environment easier.
When you try to run a second instance of sublime (even if it’s a distinctly different executable with its own self contained Data directory), it appears to communicate with the existing running copy and tells that one what to do.
tmartin:dart:~> ipcs -mp | grep `pgrep sublime`
1686470673 tmartin 12294 2000
1761607700 tmartin 12294 2000
Based on this, I’m guessing that it’s using a shared memory segment to detect an already running instance, although I never really investigated that too deeply and it could be using that for something completely different.
The only way around this that I know of (besides using Sublime 2 and 3 at the same time, which is less than desirable) is to run the second copy as a different user.