Sometimes, it fails with an IO Exception that the "Directory is not empty." Shouldn't that not matter if I'm recursively deleting all the items inside (which is what true should do in that function)? If I back the script up a few lines and run it again, it works fine.
My only guess is that the EnumerateFileSystemEntries is locking a file, but I would have guessed I'd get a much different exception ("access denied" or "file locked" or something).