Solution
This is expected behavior because each UUT in the batch does, in fact, have its own separate copy of the FileGlobals variable by default.
This is because each UUT in the batch has its own execution, and by default, sequence files do not share FileGlobals between executions.
So if you have a sequence file with a FileGlobals named FileGlobals.Global1, and run your sequence under the batch model with 3 UUTs, then there will be three separate copies of FileGlobals.Global1 opened in memory, one for each UUT.