Tian stops working after some hours

I have a problem that I encounter with my arduino program and the use of OpenWRT linino. I can't really find a solution for several days. (I use Arduino TIAN) I have already sent emails to arduino support and posted questions about it on the forum but it was never convincing.

Indeed, my program works well but after 14,15 hours of operation it stops working and I don't receive datas. The program is fast at the beginning, then after 2 to 3 hours before stopping, it becomes more and more slow with the message "timeout" (on Laview). All the communication and all, what we would like to do is working fine, except, that after a sporadic time the communication to the PC trough the restserver quits the service.

At first I thouhgt, it might be a problem on the programmation side of the Atmel, but several testings did not show a clear pattern for the fault. Than I checked deeper and analized the linux based linino-side and I did find out, that probably the process is consuming more virtual memory than there is available RAM, so is swapping… And stop... The ciao and restserver increase the memory demand over the time and when the memory is "full" and the linux begins to swap, the communication to the PC slows down immediatley and drastically and after a few requests from the PC the Tian would quit the service and hang up. So there must be some maybe "bad" code in the ciao.py and restserver.py, which does not take in account to clear the memory...,? Or a bad configuration of this ?

So I think maybe a modification at the program level could correct the problem or maybe several commands on the linino side ?

I put here the linux commands that allowed me to deduce this (I highlighted them to make it more visible)

At the begin of the run :

Just after it stop :

And here is the part of the program who communicate intuitively with the Linux (there is another CiaoReadWrite nearly similar to the first on my program called CiaoReadWrite2) :

void CiaoReadWrite1()
{
    CiaoData data = Ciao.read("restserver");
    if (!data.isEmpty())
    {
      String id = data.get(0);
      String sender = data.get(1);
      String message = data.get(2);
       
      splitString(message,"=",LtT2,9);
       
      gen            =LtT2[0].toInt(); LtT2[0]="";
      belt           =LtT2[1].toInt(); LtT2[1]="";
      genReady       =LtT2[2].toInt(); LtT2[2]="";
      hvOnOff        =LtT2[3].toInt(); LtT2[3]="";
      beep           =LtT2[4].toInt(); LtT2[4]="";
      heart1         =LtT2[5].toInt(); LtT2[5]="";
      sendConf       =LtT2[6].toInt(); LtT2[6]="";
      heart2FB       =LtT2[7].toInt(); LtT2[7]="";
     
      beepFB         =beep;
      heart1FB       =heart1;
      sendConfFB     =sendConf;
       
      Ciao.writeResponse("restserver",id, String(baroAlti*100)+"="+baroHumi*10+"="+baroPres+"="+baroTemp*10+"="+beepFB+"="+heart1FB+"="+heart2+"="+sendConfFB+"="+
                                          secCust1+"="+secCust2+"="+secEmrgSW+"="+secloop+"="+secLoop1+"="+secLoop2+"="+gndSwGnd+"="+gndSwUGnd+"="+statusA1+"="+
                                          statusA2+"="+statusA3+"="+beltStat1+"="+beltStat2+"="+beltStat3+"="+beltStat4+"="+request+"=");
      request++;
    }
}

It would good if I could have some help or documentation that can help me to advance