Вообщем я сам нашёл ответ, хотя пришлось довольно долго гуглить.
Mailbox inbox = imap.SelectMailbox("inbox"); // получаем каталог
int[] ids = inbox.Search("UNSEEN"); //получаем ид непросмотренных сообщений
Чтобы оплучить uid сообщения использую ид на сервере
inbox.Fetch.Uid(id);
Чтобы удалить сообщение используя uid
inbox.UidDeleteMessage(uid, true);
Это не готовый код. Но я бы делал так
1)Собирал все uid которые нам нужно удалить.
2)Затем удалял бы все сообщение в цикле.