why make this a pointer if it's always created? it could be a member? Or could be unallocated unless in use.

Seems like that might be the best solution. Not sure what the sizeof(QList<Particle>) is if there are no items in the list.