Primitive valgrind invocation
Mem management fix

Do not conditionally return something owned by caller or by object.
Hopefully helpful comments