Replace the parameter FMOD.Studio.EventInstance instance in BeatEventCallback with IntPtr instancePtr. Add FMOD.Studio.EventInstance instance = new FMOD.Studio.EventInstance(instancePtr); direct below in the static method, then it will work.
Looking at our revision history, it looks like it was fixed up shortly after my comment above. You can see the creation of the EventInstance handle here, initialized from the callback’s IntPtr.