I faced some issues related to MemoryOutOfBounds exception in android. I found There are two reasons behind this
(1) Thread created are alive and not destroyed anywhere
You don't need a memory leak to get an OutOfMemoryError, simply using too much memory in your app will cause it.