I was testing a script to find a workaround for the issue described here.
Basically the idea was:
When the script runs for the first item, check if this Tab.Var exists to grab a map of items with their respective values. If it doesn't, grab all items from the tab (if any) and process them in batch.
Save the values to the Tab.Var.
When OnBeforeFolderChange() triggers, delete the Tab.Var.
But Opus sometimes crashes when OnBeforeFolderChange() runs while the columns are still being populated.
I guess that sometimes the var gets deleted while it's still being used to calculate values, because OnBeforeFolderChange() can trigger simultaneously.
Jon, sorry, I already fixed the error so I don't have that script anymore.
But I can tell you what it was.
Basically, I forgot the "map" I was using to store values was a JScript object. The crash happens when you load it from a Tab.Var (saving it is fine; the error occurs when loading/deleting if the object has properties that are also objects/null) or any other Var I guess. The object was produced dynamically from a JSON, so it had mixed types.
Switching it to an Opus Map fixed it.