Please try our Stamper class, and use the SetAsAnnotation to true.
http://www.pdftron.com/pdfnet/samplecode/StamperTest.cs
Though, this creates a RubberStamp annotation. If you like, you can edit it to be a FreeText by post-processing this way. First, to get the Stamp annot after stamping see this post.
That will create the annotation with the size you want, and the appearance you want, however it is the wrong type of annotation. A RubberStamp one instead of a FreeText. So you can just take the size and appearance of the RubberStamp and use it to finish off a new FreeText annotation. This code shows how to swap them around.
// Create FreeText annotation as normal, applying the same colors, font and font size as the Stamper.
FreeText ft = FreeText.Create(doc, stamp_annot.GetBBox());
ft.SetContents(text_used_with_Stamper_StampText);
// ft.SetFont(...)
// ... etc.
ft.Put("AP", stamp_annot.FindObj("AP"));
stamp_annot.Erase("AP");
page.AnnotRemove(stamp_annot);
page.AnnotPushBaclk(ft);