Hey Moses -
I don't have an immediate answer for you, but it seems likely the issue is with `decoded_u8`. Before spending time trying to debug why this might be happening when the code is used in GNU Radio versus not, it would be good to figure out where exactly the leak is occurring.
You should be able to test the `decoded_u8` hypothesis by commenting out the existing malloc & free, and just using some hard-coded dummy vector or something similar. Your application obviously won't work, but what you care about is how that affects the memory leak.
Separately, is there a reason you are dynamically allocating that vector? You are freeing the memory within the same scope, anyway. I guess I'm not sure how much data that realistically is, so perhaps that's why you're putting it on the heap?
Cheers,
Ben