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 can have a look at the following links regarding how to avoid memory-leaks:
This might be useful.
What Android tools and methods work best to find memory/resource leaks?
You don't need a memory leak to get an OutOfMemoryError, simply using too much memory in your app will cause it.