Boehm это тоже mark and sweep. Консервативный с одной стороны проигрывает тем, что false pointers там могут память держать дольше чем надо и работы для GC делать больше чем надо. Но с другой стороны там порой меньше раздумий над каждым объектом, т.к. не надо аккуратно по-разному обращаться с разными типами объектов.