Hi Enrique,
Every ElastiCube in Sisense has its' own pod running on Linux Kubernetes. That pod, should it encounter M2M will start utilizing quite a lot of RAM memory (natural effect of M2M and Cartesian result it produces) until a certain threshold is reached, and then Sisense will kill the query and display appropriate message.
Generally speaking ElastiCube is In-memory entity which will hold in RAM contents of queries. Depending on type of queries it will start using more RAM, but if there are no M2M, memory usage should not be higher than then actual size of ElastiCube on hard drive. Upon rebuild or ElastiCube pod reset all memory is released. ElastiCubes can also utilize Query Recycler whci heffectively caches subsequent query results, so next time same query is executed it will take results from cache. This mechanism will also gradually add memory usage to specific ElastiCube.
Hope that sheds some light on the whole mechanism. If you would have any additional questions feel free to reach out to me.