CString constructor or assingnment or serialization of CString causes the application crash in a multi-processor environment,(this happens in a heavily loaded condition when more than 500 threads are running)
whereas it does not cause any problem in single processor environment.

CString is extict because it is from MFC which is extinct, they may have it available but it is not up to date with everything. Any bugs that they had when they were out are still there. There is no way you can fix that unless you reconstruct the whole CString class so i would try making your own string class or use something that is not MFC.