I encounter convergence problem with -gsem- when running two-stage probit regressions with unobservables.

To simplify, I fit a basic model without unobserved heterogeneity as the following, which converges without problem:
Code:
gsem (y <- x, probit) (lagged_y <- z, probit)
As I add a common random effects for both regressions, the model still converges:
Code:
gsem (y <- x M[id], probit) (lagged_y <- z M[id], probit)
However, when I specify that I want unique random effects for each regression (because I need to test the correlation between unobservables across the regressions), the model no longer converges, even when I specify other estimation options such as -difficult-, -dnumerical-, -iterate(#)-, startgrid().
Code:
gsem (y <- x M1[id], probit) (lagged_y <- z M2[id], probit)
I wonder why would adding one more latent variable make the convergence impossible, given that with one or zero latent variable the model converges perfectly well? Also, is there other ways to test the correlation between unobservables across the regressions in other ways? Thank you for your advice.