Файлы классов выглядят так, код переходит с 8 на 14, а java.lang.Thread.sleep () является нативным. Поэтому нет оснований для создания МБ объектов
public static void main(java.lang.String[] args);
0 getstatic java.lang.System.out : java.io.PrintStream [16]
3 ldc <String "start"> [22]
5 invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]
8 ldc2_w <Long 5000> [30]
11 invokestatic java.lang.Thread.sleep(long) : void [32]
14 goto 8
17 astore_1 [e]
18 aload_1 [e]
19 invokevirtual java.lang.InterruptedException.printStackTrace() : void [38]
22 goto 8
Боюсь, то, что вы видите, получено от самого JProfiler (я не знаю, как вы подключили его к своему тестовому приложению Dummy) или других вещей, запущенных в этом виртуальном компьютере. Чтобы узнать, какие объекты были созданы, вы должны сделать дамп кучи, если JProfiler не показывает эту информацию.