Perro Rallo = new Perro();
Rallo = se convierte en una nueva estancia ( que es una instancia expliquenmelo en terminos sencillos porfavor?
Mira te recomiendo estudiar Programación Orientada a objetos, son las bases de C# (este lenguaje este enfocado en objetos)
Respecto a tu pregunta lo que tienes como Perro en si es una clase (digamos que es un plano donde te dice las propiedades que tiene como tamaño, edad, y todo lo que tu le pongas)
Y Rallo, se convierte en una instancia (no estancia) de la clase perro, esto quiere decir que es lo que contruyes con tu plano, un ejemplo mas claro seria esto:
Edificio escuela = new Edificio();
donde Edificio es tu plano, donde dicen las medidas la altura, tipo de material y todo lo que tu quieras usar.
y escuela es el resultado de crear un edificio a base de tus planos pero EN ESPECIFICO es una escuela, osea vamos de lo general a un particular.
y es del tipo perro = como del tipo perro ?
Con respecto a lo que dicen de "tipo" es el nombre del plano, osea tu variable se llama perro, pero el plano que usaste es Perro() osea es como decir mi variable llamada Rallo la hice con mi plano llamado Perro(), es confuso ahorita pero es cuestión de costumbre. Y sin ofender te pasa por que no has estudiado Programación orientada a objetos.
Espero te sirva, si tienes mas dudas con gusto las resolvemos.
Saludos!