Когда вы используете динамическое выделение памяти для создания объекта в это время, вы можете использовать оператор delete для уничтожения / удаления объекта, но когда вы не используете DMA в это время, пытаетесь удалить объект, используя команду delete, вызывается ошибка. Один из способов справиться с этой ситуацией - написать свой собственный деструктор в явном виде и вызвать деструктор, используя объект для его уничтожения.