Чтобы в твоем случае починить переполнение нужно Lois и Pitter создавать только по одному разу.
В первую очередь поменять
Pitter husband = new Pitter();
на
Pitter husband;
Для Pitter сделать то же самое с Lois.
После этого нужно убедить что объекты создаются только по одному разу. Например устанавливать свойства из вне.
main() {
Pitter pitter = new Pitter();
Lois lois = new Lois();
pitter.setWife(lois);
lois.setHusband(pitter);
}
В этом случае объекты будут созданы только по одному разу и не будет возникать бесконечная цепочка создания новых объектов.
А stackoverflow работает во всех языках одинаково.