Es EndInvoke () opcional, más o menos opcional o definitivamente no es opcional?

He leído opiniones contradictorias sobre si un BeginInvoke () tiene que coincidir con un EndInvoke (). ¿Hay fugas u otros problemas asociados con NO llamar a EndInvoke ()?