O3 violates strict aliasing rules more often than not.
cSys::alloc and cSys::free are used by the machinery that manages the mappings between v8 objects, o3-xml objects and libxml nodes. When alloc/free are called its data structures may not be in a consistent state. AdjustAmountOfExternalAllocatedMemory can trigger a v8 garbage collection, which in turn causes o3-xml to update some reference counters. Sometimes this makes o3 release blocks of memory, which is risky business when its internal data structures are inconsistent. Not calling AdjustAmountOfExternalAllocatedMemory should not have a meaningful impact here.