Checked projectM with valgrind and found a few small memory leaks:
In projectm-eval, a wring destroy function was caleld to free a memory buffer.
In hlslparser, the internal Array implementation was leaking its buffer as it was never freed.
Also in hlslparser, a std::string instance was store in a C-malloc'd struct, so the destructor was never called and thus the stored string never released.
Checked projectM with valgrind and found a few small memory leaks: