You’re right.
And yeah, it makes no difference to the error.
Edited to add:
Also, it looks like I could delete an object instead of a vocab word to fix the issue, or conversely, adding two new objects instead of two new synonyms causes the “heap space exhausted” error to trigger.
I guess it’s interesting that adding synonyms has had this effect, and I might have been a bit less trigger-happy with adding them if I’d realised, but I guess either way it seems that my game is finally at its limit, and if I want to add more objects or synonyms I’ll need to remove some existing ones to make room first.
(I probably could also remove one more of my two remaining per-object variables, as it only ever has one of 3 values, but I’d be a bit reluctant to make a big change like that after all the testing this thing has already had.)
Edited yet again:
OK, I did go back and try and replace that per-object variable with two per-object flags (confirmed by running @dynamic) and that also causes the heap error to trigger, so I guess I really am at some kind of limit for the size of the game. (And as before, increasing the heap value passed to the compiler has no effect.)