Hello Costas,
We can admit that MUMPS needs a lot of memory, but it should not increase with time, for solving always a linear system of the same size. I think the problem is in solve_mumps_par.F where the authors have left a comment and some commented DEALLOCATE. As it is programmed, I think a general SAVE is missing. Without SAVE, we should always deallocate the arrays that are probably allocated at every call because they are 'forgotten' or destroyed due to the absence of SAVE. So I would rather add a general SAVE or, alternatively, add at the end:
DEALLOCATE(TEMP1)
DEALLOCATE(TEMP2)
DEALLOCATE(TEMP3)
and the deallocate of the MUMPS structure components as suggested by the authors.
If you see a difference of behaviour by doing this we can look more closely at what should be deallocated.
With best regards,
Jean-Michel Hervouet