Before posting this question, I made a profiling: Memory allocation and leak. I'm convinced that the app has no or little memory issue(leak) as I tested the app for long period of time.
For the first 1-6 hours of use, the performance is really good, but after several hours, say 12hrs, the overall performance of the app is degraded. Tapping of buttons in all views in all screens is slow (~.2 sec) the lag is noticeable.
After 12 hours of continuous usage, the memory consumption reaches from 94 to 125MB (iPad Air 2). I'm using coredata, so also check the coredata object creations, after 12 hours of usage, the average live coredata objects reaches only to ~1000.
In summary, after 12hrs, the memory usage reaches ~120MB and ~1000 coredata objects. I believe that a 120 MB memory usage and ~1000 coredata objects will not degrade the over all performance of the app.
Any suggestion on how to solve this?
Updated
Btw, I'm using this (Accepted Answer) in getting the current memory usage of the app.