Por que o XmlWriter está sempre emitindo codificação utf-1

Eu tenho esse método de extensão

    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();
        }
    }

mas sempre que eu chamo isso, ele tem uma codificação deutf-16 especificado, ou seja,<?xml version="1.0" encoding="utf-16"?>. O que estou fazendo de errado

questionAnswers(10)

yourAnswerToTheQuestion