iTextSharp - Crear nuevo documento como Byte []

Tenga un pequeño método que vaya a la base de datos y recupere un documento pdf de una columna varbinary y luego le agregue datos. Me gustaría agregar código para que, si no se encuentra este documento (material de escritorio de la empresa), se cree y devuelva un nuevo documento en blanco. El método podría devolver un Byte [] o un Stream.

El problema es que la variable "bytes" en la cláusula else es nula.

¿Alguna idea de lo que está mal?

private Byte[] GetBasePDF(Int32 AttachmentID)
{
    Byte[] bytes = null;
    DataTable dt =  ServiceFactory
        .GetService().Attachments_Get(AttachmentID, null, null);

    if (dt != null && dt.Rows.Count > 0)
    {
        bytes = (Byte[])dt.Rows[0]["Data"];
    }
    else
    {
        // Create a new blank PDF document and return it as Byte[]
        ITST.Document doc = 
           new ITST.Document(ITST.PageSize.A4, 50f, 50f, 25f, 25f);
        MemoryStream ms = new MemoryStream();

        PdfCopy copy = new PdfCopy(doc, ms);
        ms.Position = 0;

        bytes = ms.ToArray();

    }

    return bytes;
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta