IWebElement element = driver.FindElement(By.Id("elementId"));
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
wait.Until((d) => { return element.Text.Contains("Done"); });
For an alternative a approach, you could query the state of the AJAX library being used by the page using ExecuteScript, but you'd have to know what the features of that library are. As an example, you can check for $.active to be zero, which indicates that there are no current pending AJAX requests. Your page may use a different library, in which case you'd have to use that mechanism.