1. Зачем декодировать сразу все 100 картинок и держать их в памяти, а не по мере появления их на экране?
2. Используйте опции декодирования, чтобы картинки не резервировали память на долго
final BitmapFactory.Options options = new BitmapFactory.Options();
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
// #302 added to reduce amount of OutOfMemory errors
options.inDither = false; // Disable Dithering mode
options.inPurgeable = true; // Tell to gc that whether it needs
// free memory, the Bitmap can be
// cleared
options.inInputShareable = true; // Which kind of reference will
// be used to recover the Bitmap
// data after being clear, when
// it will be used in the future
options.inTempStorage = new byte[32 * 1024];
3. Потребляемую память можно посмотреть на вкладке Heap view. На Ваших скринах этого не видно