Of course if you read the whole array from the LV2 Global output, it will be copied if you attempt to modify it. To reduce copies, any manipulation to the array have to be done
inside a case of the LV2 Global. LabVIEW is very efficient to reuse memory from/to shift registers. An operation like Replace Array Element/Subset will be done "in place", without copying the array. If you extract some elements (index, array subset), only these elements are copied for output. Some other operations that resizes the array require the memory to be reallocated and the array to be copied.