Das wäre auch meine Idee:
Da instr.command.length() mit maximaler Länge bekannt ist, kann man den Array lokal ja damit definieren - muss ja nicht komplett genutzt werden.
Die Frage ist, was das gcodeQueue.push(gcodeLine); intern macht: Kopiert es die Zeile oder hebt nur eine Referenz auf? Im letzteren Fall gäbe es Probleme.
Das Fragment reicht aber nicht aus, um das zu beurteilen.