If you are finding PEGA0028 alerts, it means GC is unable to reclaim memory. If you are seeing this alerts too frequently, it could represent your heap is not sufficient and you should consider increasing heap.
If heap is continuously growing and even if there is not much users logged in, try taking multiple heap dumps and analyze for the memory leaks.
The graph you have attaced indicates most likely a memory leak. This is because despite major GC (some over 40 sec) you total heap size is still increasing. So to move further, you need to dump the heap analyze it and see where the leak is coming from. Most of the time it is from Pega Cache (MRU - property reference cache). But first you need to do heap analysis and check alerts like Pega0028. Check if there are other alerts Pega 0005 or Pega 0042 and could co-relate with Pega0028.
Also make sure the major GC does not exceed over 5 -10 sec,
After providing elements as requested on the SR, the conclusion was that everything is normal.
Our systems reboot on a daily basis, so in order to see if PEGA's conclusion is true, we didn't restart the system on monday night. So after viewing the memory old gen usage and the garbage time on this 2 days period, we're not sure that PEGA's conclusion was true.
You can see the graph attached. It seems that there is an issue.