¿Cómo obtengo un icono de una imagen png?

Estoy creando una aplicación WPF, por lo que trabajo principalmente con la clase ImageSource para íconos. Sin embargo, el icono de la bandeja del sistema debe ser de tipoSystem.Drawing.Icon. ¿Es posible crear tal objeto a partir de una imagen png?

He probado lo siguiente:

private static System.Drawing.Icon _pngIcon;
public static System.Drawing.Icon PngIcon
{
    get
    {
        if (_pngIcon == null)
        {  
            //16x16 png image (24 bit or 32bit color)
            System.Drawing.Bitmap icon = global::BookyPresentation.Properties.Resources.star16;
            MemoryStream iconStream = new MemoryStream();
            icon.Save(iconStream, System.Drawing.Imaging.ImageFormat.Png);
            iconStream.Seek(0, SeekOrigin.Begin);
            _pngIcon = new System.Drawing.Icon(iconStream); //Throws exception
        }
        return _pngIcon;
    }
}

El constructor de iconos genera una excepción con el siguiente mensaje: "El argumento 'imagen' debe ser una imagen que pueda usarse como un icono".

Pensé que podría ser algo con la profundidad de bits del color de la imagen, ya que tuve algunos problemas con esto anteriormente, pero las imágenes de 32 bits y 24 bits no funcionaron. ¿Es posible lo que estoy tratando de hacer?

Respuestas a la pregunta(7)

Su respuesta a la pregunta