Tengo un problemilla de fuga de memoria en mi programa, el problema es que no se solucionarlo.

Basicamente tengo creada una clase que representa un pixel tal como esta:
Código:
y otra clase que modela un grupo de pixels tal como esta:class RGBLPixel
{
public:
[...]
private:
unsigned char m_r;
unsigned char m_g;
unsigned char m_b;
};
Código:
que como veis tiene un vector de pixels.class PixelGroup
{
public:
[...]
private:
int m_numPixels;
RGBLPixel * m_grupo;
[...]
};
Mi problema es en el destructor de la clase PixelGroup, en el que hago:
Código:
Cuando creo una instancia de un grupo de pixels y le toca actuar al destructor (como por ejemplo al terminar un bucle en donde he definido un PixelGroup) me da un fallo de segmentación que no comprendo el por qué. delete [] m_grupo; m_numPixels=0;
Si en el destructor comento la línea en donde hago el delete me deja de dar fallo y el programa sigue. El problema es que creo que así se me está produciendo fugas de memoria que no se como evitar.
Muchas gracias por vuestra ayuda
(solo lo depure y vi eso, en VC++ primero por cierto). 
Este tema le ha gustado a 1 personas