The answer/solution to this question is to use a WaveFileWriter and save the bytes directly to a MemoryStream rather a file. The WaveFileWritter wraps the raw bytes[] as a formatted Wave stream. Change rate and channels as needed.
writerMem = new WaveFileWriter(memStream, new WaveFormat(44100, 16, 1));
Write read bytes to the WaveFileWriter:
writerMem.Write(e.Buffer, 0, e.BytesRecorded);
Call the API passing the Memory Stream only
var recResult = speechToText.Recognize(
audio: memStream,
model: "pt-BR_Multimedia",
contentType: "audio/wav");
This way, the API accepts the MemoryStream and identify the WAVE stream from within.