GC может удалить так называемый «остров объектов», если ни один из объектов этого «острова» (или группы) не может быть доступен из любого потока!
В вашем примереВы создаете объект A, который имеет ссылку на другой объект B. Но объект B не является «справочно-ориентированным», если кто-либо не ожидает, что A. Вы можете рассматривать два объекта как остров.Когда A уйдет, GC будет достаточно умен, чтобы понять, что B не может ссылаться ни на какой другой поток, и поэтому у вас будет 2 объекта, которые будут удалены.