If you are handling the add row in the UserAddingEvent, you should call e.Cancel = true;
in order to prevent the grid to create it's own row just like:
sender, GridViewRowCancelEventArgs e)
//handle custom logic and object creation here
Please let me know if you have any other question.