Variable (array) loses reference after Set

The scenario:

I have a single array of structs, each containing a string value and another array of structs.
The second struct contains a vector and an actor (which I realize might end up being redundant – different discussion).

Whenever my camera changes its Z position (this is done in increments of 500, when player hits a key), I go through the first array of structs, to find an array of vector/actor pairs for that Z position.

The problem:

The array I find for the current Z position, I want to store in a variable for use in other parts of the blueprint, for example when I want to add a new actor, I want to make sure it’s added to the correct array for the correct Z position.

However, this variable doesn’t seem to maintain the reference to the array, and instead each time I try to access the elements in the array, it seems to be empty.

Picture time!

The function which attempts to find the array, and set the variable:

The function which attempt to add a value to the array, referenced by the variable.

This is where things go bad, because the CurrentStructureArray array is empty each time, so after adding, it only consists of one element.

Is it because the array in the CurrentStructureArray variable is no longer the same as the one in the struct, saved in ZPlaneArray?