<p>I have G729 encoded audio files. I need to programmatically convert them to WAV PCM (16bit 8kHz mono) in the flow of a tool that is doing other thing too. I have an executable that will do that for me. But spawning that external process every time I convert is too heavy on resources. Especially if I need many of them being done in parallel.
Looking for a .NET library or code that will let me call this inside my process.</p>

According to Wikipedia, G.729 includes several patents and is licensed by
Sipra
, so you probably won't have much luck finding an appropriate lobrary.  Unless you're decoding a large number of very small files, the cost of spawning a new process shouldn't be that big compared to the cost of doing the decoding, so I'd say use the executable you have.
As far as resources go, yes, spawning processes requires a lot more resources compared to using threads.  This shouldn't really matter, though, so long as you only spawn as many processes as you have cores in your machine.  Spawning more processes just wastes resources and doesn't gain you any extra parallelism.