I use the mkl_peak_mem_usage() function to measure the peak memory usage by Intel MKL. I also set the number of threads by using omp_set_num_threads() functions. Interestingly, the more threads I use, the higher the peak memory usage is reported. How do you explain this? My code does a lot of matrix-matrix multiplications and make use of Pardiso solver as well.
In many routines work buffers for each thread are created and thus the auxiliary memory can be proportional to the number of threads. This fact itself should not be an issue. However, if in your case you see memory consumption which looks unreasonable and is a problem please give us more details: which functionality, which data, what do yo see exactly.