No, the comment on the other branch was wrong, this is one is right.
Initially (1 year ago!) I tried being conservative and locking only msLoadProjectionStringEPSG but I got segfaults again so I moved the lock up the call stack.

You can see the original commit history here:

https://github.com/unicolet/mapserver/compare/WxS_threadsafety

You see that the lock around msWMSGetCapabilities was added *after* trying to lock msLoadProjectionStringEPSG.

I have not found were exactly msWMSGetCapabilities crashes.