¿Cómo elimino una carpeta y su contenido sin colocarlos en la papelera de reciclaje?

Estoy creando un programa para ejecutar el esfuerzo de E / S de archivos en una unidad y cuando termine, quiero eliminar los archivos, pero no quiero ponerlos en la papelera de reciclaje. Aquí está el código que tengo ahora:

    public static void DeleteDirectory(string target_dir)
    {
        //Delete the files and folders created during stress.
        string[] files = Directory.GetFiles(target_dir);
        string[] dirs = Directory.GetDirectories(target_dir);
        foreach (string file in files)
        {
            File.SetAttributes(file, FileAttributes.Normal);
            File.Delete(file);
        }
        foreach (string dir in dirs)
        {
            DeleteDirectory(dir);
        }
        Thread.Sleep(30);
        Directory.Delete(target_dir, true);
    }        

Pero este código simplemente mueve los archivos a la papelera de reciclaje. No quiero agregar código para vaciar automáticamente la papelera de reciclaje ya que puede haber archivos allí que no quiero eliminar (los archivos pueden pertenecer a otra persona).

NOTA: De las respuestas que se han hecho hasta ahora, parece que la gente podría estar entendiendo mal lo que estoy tratando de hacer aquí. Cuando mi programa elimina archivos, los envía a la Papelera de reciclaje. NO quiero que eso suceda, quiero eliminar los archivos inmediatamente. No veo ninguna forma de decirle al sistema que elimine los archivos SIN enviarlos a la Papelera de reciclaje. Nunca necesitaré restaurar los archivos. La configuración predeterminada es el envío a la Papelera de reciclaje, pero no veo ninguna forma de cambiar esto. Por favor, si es posible, edite el código que he publicado para que elimine los archivos inmediatamente. Soy un usuario principiante de C #.

Respuestas a la pregunta(2)

Su respuesta a la pregunta