Mmmmm doughnuts

I think the final structure was QList< QHash<int, QString> > and that the clear() method is being called on the outer QList. This would result in the destructor of each QHash being called, which would in turn call the destructor of each QString. If there is a list of hundreds of hashes of hundreds of keys then the numbers get large quickly but still should not be a massive imposition unless you do it repeatedly.