Instances you create in event 2 are not available immediately in event 5. You can fix it with "Wait 0":
Note that Wait 0 delays execution until the end of the tick, which may break some logic in other events.
Another (and probably better) option is to move events 6-8 into a function or a custom action. Call that function/custom action from events 3 and 4, for each created array.
Also, you mentioned that the code runs once, which indicates the array is global and already has one default instance. If you then create four more array instances, you’ll end up with five in total. Either destroy the initial instance at the start, or set the array to not be global.