Does your custom field control has any asp:FileUpload control? I had similar issue with with my custom field under this condition. And reason for that was because Microsoft.SharePoint.WebControls.AttachmentField, which I think is by default on every New/Edit item forms, internally iterates through this.Context.Request.Files and tries to create attachment for each file. I think everything works fine, cause this field is processed as last one. And for me, solution was to include following code in UploadFieldValueInItem after processing custom FileUpload control:
if (FileUpload.HasFile)
{
var member = Context.Request.Files.GetType().GetMethod("BaseRemove",
BindingFlags.Instance | BindingFlags.NonPublic);
member.Invoke(Context.Request.Files, new[] { FileUpload.UniqueID });
}