Encontré el problema, es un bug de gtk, cuando la modificación de una caja de texto se hace desde un hilo de proceso distinto al que fue creado es necesario utilizar la manipulación del cursor:
En ves de :
Código [Seleccionar]
buffer_out.Buffer.Insert (buffer_out.Buffer.EndIter, text + "\n");
En ves de :
Código [Seleccionar]
buffer_out.Buffer.Text += text + "\n";