Про IDisposable можешь посмотреть в мсдн, реализующие его классы должны реализовывать метод Dispose, который вызывается при уничтожении объекта. Зацеплен - используется еще где - нибудь. Я не понял, массив создается в дотнет и передается в длл или создается в длл и передается в дотнет?