В зависимости от того, в каком поколении кучи находится ваш объект, он будет или не будет собираться мусором второстепенным сборщиком мусора. Чтобы быть уверенным в том, что все объекты с ненадежными ссылками являются GCed, вам нужно запустить полный GC, и способ добиться этого - вызвать OutOfMemoryError ... Вы можете сделать это с помощью следующего кода:
try {
List<byte[]> list = new ArrayList<byte[]>();
while (true) {
list.add(new byte[1024]);
}
} catch (OutOfMemoryError oome) {
// full GC should have run here...
}