The most common large leak I have seen in Android apps is created that way :
-create an object containing a strong reference to an Activity. Activity is kind of a god object in the Android framework. It can loosely be defined as a screen in the app. Views for example always contain a reference to their parent activity.
-Make a screen rotation and persist that object.
-During the rotation, the Activity reaches the end of its lifecycle and a new one is created.
-The retained object keeps a reference to its Activity. It should be collectable by the GC by now but it is not possible because of this object holding a strong reference to it. It does not stop here, the Activity almost certainly contains references to many other objects that similarly cannot be reclaimed.
It might not be very similar to the leaks encountered in c/c++ but it is very easy to create such issues in GC languages such as Java.