When you run programs under PVM, a ps may show the memory used by the pvmd increasing. After the program stops, the percentage of memory doesn't decrease.
The pvmd data size will grow as it runs. It uses malloc() (which uses sbrk() probably) to get buffers and malloc never returns memory to the system. However, the buffers are freed, so malloc uses the same space the next time it needs buffers. I would expect the data size to grow when your program is first run, then stay more or less constant for subsequent runs.
Of course, there could be a memory leak in the pvmd, though we don't know of any big ones.