使い方はあっていると思います。
ディレクトリが無くても、trueが返ってくる理由はちょっとわかりませんが、
存在していてもfalseが返ってくることはあるみたいです。
MSDNに以下の記載があります。
MSDN
・ディレクトリに対する読み取りのアクセス許可がない場合はfalseを返す。
・ディレクトリの存在を判断している際にエラーが発生するとfalseを返す。
The path parameter is permitted to specify relative or absolute path information. Relative path information is interpreted as relative to the current working directory.
Trailing spaces are removed from the end of the path parameter before checking whether the directory exists.
The path parameter is not case-sensitive.
If you do not have at a minimum read-only permission to the directory, the M:System.IO.Directory.Exists(System.String) method will return false.
The M:System.IO.Directory.Exists(System.String) method returns false if any error occurs while trying to determine if the specified file exists. This can occur in situations that raise exceptions such as passing a file name with invalid characters or too many characters, a failing or missing disk, or if the caller does not have permission to read the file.
ちなみにエラーは無効な文字列がある、長すぎる名前、ディスクの読み取りができていないなどで発生するようです。その辺りをチェックしてみてはどうでしょうか?