Why use explicit memory management in the iOS wrapper (delete in dealloc) when ARC in conjunction with std::shared_ptr would take care of it automatically?
In iOS, things are simple. The deallocating code is very concise and safe. Why having the performance overhead of smart pointers?
On the other hand, it could be useful to have them in Java and avoid manual destruction. However, this wasn't investigated :(