Porque tu le mandas la instancia pero no como una instancia de form1 sino que como una implementación de la interface.
Imagina que se comportara como herencia y un método tiene que recibir por parámetro un Vehículo (clase abstracta), por eso método tu puedes mandar (auto, Bicicleta, Omnibus y cualquier particularidad de Vehículo. Con interfaces es lo mismo, tu le dices al método que va a recibir algo del tipo de la interface y después le mandas la instancia del form1, el implementa la interface anteriormente mencionada. Se entiende?
Para ver mas o menos de qué te hablo, puedes bajarte mi ejemplo de Remoting donde utilizo Interfaces. Bájalo, víchalo y dime si hay algo que no entiendas.
http://sgomez.blogspot.com/2006/03/n...r-dummies.html
Ánimo y no desesperes que ya va a salir.