Directory.Delete(String) では、サブディレクトリやファイルがある場合に削除ができません。
再帰削除のメソッドのためのDirectory.Delete(String.Boolean)を指定すればOKです。
実は、これがあるのを知らなかったので、自分で実装しようとしていたという。MSDN読まないとダメですね。
using System.IO; namespace ConsoleApp2 { class Program { static void Main(string[] args) { Directory.CreateDirectory("dummy"); Directory.CreateDirectory(@"dummy\child"); File.WriteAllText(@"dummy\child\test.txt","aaaa"); Directory.Delete("dummy",true); } } }