¿Por qué XmlWriter siempre genera codificación utf-16?

Tengo este método de extensión

    public static string SerializeObject<T>(this T value)
    {
        var serializer = new XmlSerializer(typeof(T));           
        var settings = new XmlWriterSettings
                       {
                        Encoding = new UTF8Encoding(true), 
                        Indent = false, 
                        OmitXmlDeclaration = false,
                        NewLineHandling = NewLineHandling.None
                       };

        using(var stringWriter = new StringWriter()) 
        {
            using(var xmlWriter = XmlWriter.Create(stringWriter, settings)) 
            {
                serializer.Serialize(xmlWriter, value);
            }

            return stringWriter.ToString();
        }
    }

pero cada vez que llamo a esto tiene una codificación deutf-16 especificado, es decir,<?xml version="1.0" encoding="utf-16"?>. ¿Qué estoy haciendo mal

Respuestas a la pregunta(10)

Su respuesta a la pregunta