It looks like it's treated as unowned so it will leak forever. We need to ensure that the objects returned by this API are marked as owning their handle. Then it's safe to just dispose the array and not dispose the contents of the array. The 'Right Thing' will happen then and the handle will go away whenever the managed wrapper dies.