Hi @iluxa7k thanks for reaching out us.
With regard to your question, as already pointed out by @zipit , the Python del statement just is only responsible for decrementing the reference counter for the instance being "deleted" and not to actually free the memory used by the instance itself. This is clearly noted in the official Python documentation on the Note coming along with object.__del__(self) in Python 3  or object.__del__(self) in Python 2 .
Given that, also consider that the del app statement you've described in your first post might not actually deliver the "clean-up" action you're thinking about.
Best, Riccardo