ごみ箱を弄るならシェル名前空間の知識が要るね
ShellAPI使うとめんどいのでShell32.dllをCOM参照して、

const Int32 RECYCLE_BIN = 0xA;
Folder rb = new ShellClass().NameSpace(RECYCLE_BIN);
foreach (FolderItem fi in rb.Items())
{
    Console.WriteLine(fi.Name);
    for (Int32 i = 0; i <= 10; i++)
    {
        Console.WriteLine("\t" + rb.GetDetailsOf(fi, i));
    }
    fi.InvokeVerb("delete");
}