(new B());
Выделяется память под экземпляр класса В, запускается его конструктор, возвращаемая конструктором ссылка нигде не используется, деструктор никогда не вызывается.
Просто-таки академическая утечка памяти.
Судя по этому говнокоду, причина ошибки может быть где угодно в прочем коде.