It is not necessary to post your question both on SO and here on Devnet as Devnet is pulling the questions from SO.
Answer from SO:
The recommended way to update contact in Kentico is to use ContactInfoProvider class like this:
var contact = ContactInfoProvider.GetContactInfo(OnlineMarketingContext.CurrentContactID);
if (contact != null)
// update contact
contact.ContactFirstName = "Arnold";
// save contact
This code updates the contact directly in database and there is no delay in updating the contact.