I'm bored, so I feel like a little source code digging...
The error is saying the memory queue ran out of memory in _update_callback.
The only _update_callback I can find in the Godot 3 source is in CanvasItem.
Whenever a canvasitem is updated, it pushes a call to _update_callback onto the message queue.
The message queue has a maximum size of 4194304 bytes (4MB).
So I'm going to guess that something in calc() is updating a huge number of canvas items in one hit, which is filling up the queue too fast before the main engine loop can do a flush.
Resizing a canvasitem can trigger an update, or changing the visibility of a canvas item will recursively update every child item without a flush inbetween.
Or I'm totally wrong. But I'm guessing its related to a large number of canvas item updates happening (directly, or indirectly) in the loop.