Hola,
La verdad que de estos errores yo creo que hay en el foro por lo menos 1000:).
O bien por hacer Int.Parse,Double.Parse,Decimal.Parse,Single.Parse y así todos los parses que se os ocurran.
Por que no utilizas TryParse y a partir de ese momento eres el hombre más feliz del mundo.
Te lo digo en serio, que aparte de solucionar el problema de la calculadora, aprendes para el resto de tu vida como escribir un buen código.
Te recomiendo que te acuerdes de esto patrón Test-Doer