Delegates C#

Pessoal alguém sabe a diferença entre Delegate e DelegateMultiCast ?

Pela teoria quando se cria uma Delegate que aponta para um método que possui retorno essa Delegate é uma SingleDelegate que dizer uma Delegate normal. Quando o método é void a Delegate herda automaticamente de DelegateMultiCast. porém todas as Delegates que estou fazendo são DelegateMultiCast mesmo retornando valor, alguém sabe como devo me proceder para conseguir herdar de Delegate ?

Delegate e MultiCastDelegate é uma assumida falha no design da CLR.

Todo delegate criado por um usuário irá extender MCD, não é permitido a código do usuário herdar de System.Delegate.

Fora isso, o fato de ser um delegate de um método só ou de uma série deles é irrelevante para quem usa.

Obrigado.