Previously, this happened when the "node task" first runs, which might not actually execute the node if there are missing inputs. Deferring the allocation of storage and default inputs allows for better memory reuse later (currently the memory is not reused).