A mi me funciona perfecto con :
open.FileName.ToString();
Con eso obtengo la ruta completa.
Quiza te sirva esto :
open.Multiselect = false;
Lo que si me causa curiosidad en tu codigo, es que declaras 2 veces open, como:
OpenFileDialog open = new OpenFileDialog();
SaveFileDialog open = new SaveFileDialog();
Por lo menos en OpenFileDialog funciona perfectamente para la ruta. Lo complejo es obtener solo el nombre de archivo.
NOTA: El if en open.ShowDialog(); no es necesario.
Suerte.