Hola, esta respuesta viene después de casi 10 años, pero voy a responderla por si llega mas gente con la misma duda que yo tuve.
Cuando se realiza un "console.Read();" y luego se da enter, el enter queda cargado en el buffer. Por lo tanto, una lectura posterior, no solicitará datos pues tomará los que están en el buffer.
Por lo tanto se puede vaciar el buffer de la siguiente manera:
Ejemplo:
tecla=Console.Read();
Console.ReadLine(); // esta sentencia, leerá automáticamente el enter que hay en el buffer, por lo tanto el buffer quedará vacío.