Во-вторых, ведутся работы по автоматическому управлению регионами. Хотя это, наверное, уже вариация на тему GC...
Второй наводящий вопрос - в чем принципиально отличается "автоматическое управление регионами", от автоматического управления загрузкой\выгрузкой модулей (в том смысле как они понимаются в Обероне), и в свою очередь от GC? Ох а как вспомнишь, что Обероны в принципе допускают кроссмодульную неявную рекурсию.....
Автоматическое управление загрузкой и выгрузкой модулей в обероне? Не, не слышал.
В блекбоксе, по крайней мере, модули надо выгружать вручную.
Отличие же от GC не только в том, что память освобождается разом для всех объектов, созданных в ней.
Обычно GC собирает мусор, когда при очередном запросе на выделение памяти под объект обнаруживается потенциальный дефицит памяти в ближайшем будущем.
Автоматическое освобождение региона вообще никак не связано с запросами на создание нового объекта. Компилятор, проанализировав текст программы, определяет, где нужно освободить регион, то есть освобождение памяти в регионе является статическим, а не динамическим как у GC.
Это похоже на распределение переменных в стеке -- при вызове подпрограммы в стеке выделяется память под её локальные переменные, при завершении подпрограммы эта память автоматически освобождается. Никакой сборщик мусора тут не нужен...