@VikramSamy said in QT5 application crashed after running for some long time.....: so my question which is the better, use as my original code and delete the Qstringlist somewhere, or create the QStringlist in the stack and let it get destroyed by itself after getting out of scope as above ?? There is no generic answer to this question as it simply depends on the use case. If you only need this list in that method then you simply allocate it as local variable. Having it as member variable in the class is only needed if you need the list at several places in your class. By the way this is not heap allocation: private: QStringList TableMessages; QStringList TableMessagesNOT;