Хотелось бы увидеть интересных примеров, когда вполне адекватный код может привести к утечкам памяти на разных языках со сборкой мусора и «умными» ссылками (напр. PHP, Python, Ruby, Java, JS, ...).
ЕМНИП, на Perl это делается так:
use strict;
use warnings;
sub leak {
my $foo;
my $bar = { foo => $foo };
$foo->{bar} = $bar;
}
# можно циклом
leak();
Соль в том, что используется метод подсчёта ссылок. Но так как $foo и $bar ссылаются друг на друга, «сборщик мусора» не сможет корректно высвободить память. Возможно уже починили