The argument "useConjugacy = FALSE" was being provided to configureMCMC, as:
configureMCMC(model, useConjugacy = FALSE)
The "useConjugacy = FALSE" argument prevents all conjugacy checking. In some model structures, this conjugacy checking can enter into deep recursive dives into the model structure. However, since conjugacy checking was disabled, this didn't cause a problem.
When executing the entire workflow using nimbleMCMC, first the model is successfully built, which concludes with the final step of "Checking model calculations". After the model is built, there is a call to configureMCMC() - which when called from nimbleMCMC, *does* include the conjugacy checking. This checking was entering into a nearly-endless recursive expansion, which was taking basically forever.
When using the nimbleMCMC() workflow, there actually *is no* option for useConjguacy = FALSE from a call to nimbleMCMC - which is something we should perhaps address, but that's for another conversation. But at present, in order to prevent conjugacy checking, users should use the individual workflow "steps", as shown above, and include the argument "useConjugacy = FALSE" in the call to configureMCMC.
Cheers,
Daniel