Più che non fare una malloc, dovresti fare una free di ciò che allochi, prima che il thread termini. Ora non ho capito se sei tu a forzare l'uscita dal thread, ma sappi che è l'ultima cosa da fare. I sacri testi dicono tutti che il thread deve uscire in maniera pulita appunto per evitare i problemi che riscontri. E tieni presente che la memoria può essere l'ultimo dei problemi. Se forzi l'uscita di un thread un attimo dopo che ha acquisito un mutex, hai un deadlock colossale. E non puoi sapere ne quando ne se il thread ha acquisito tale mutex.
Questo in linea generale. Se poi la tua funzione si limita a un paio di cicli for non è possibile saperlo dato che non hai postato del codice.