Покажу все на примере.
QMap<int, PlotCurve*> m_curveMap;
// ...
PlotCurve* curve = new PlotCurve(this, data);
m_curveMap[id] = curve;
// ...
m_curveMap.remove(id);
Элемент под ключом id удалится из кучи в этом случае, или он удалится только из контейнера? Если нет, то как лучше реализовать удаление одновременно из памяти и контейнера?