Ответ
Да, GC удалит такие объекты, если на них нет внешних ссылок. В Java/Android используется алгоритм mark-and-sweep, который определяет достижимость объектов. Если два объекта ссылаются только друг на друга, но из "корневых" точек (например, активных потоков, статических полей) до них нельзя добраться, они будут помечены как недостижимые и удалены.
Пример:
class Node {
Node next;
}
Node a = new Node();
Node b = new Node();
a.next = b;
b.next = a;
a = null;
b = null;
// Теперь GC может удалить оба объекта