If this code compiles, it means you have declared the delegates and Binding to events ExecBeginOverlap and ExecEndOverlap functions have correct parameters in them.
If the engine crashes, it probably has something to do with null pointers, not the bindings themselves. Probably one or more of the array elements are nullptr, check them first before binding to events.
And if anything, test a more explicit for loop — use the actual class name instead of auto, like: for (AMyPickupItem* item : PickupItems)