I've reworked your code to resolve the issue
- store the GetById in a variable before sending out the query
- make sure you include client title in the query of the item
- it seems you are composing many queries that you end up not using since you know the id of the item you want
e.g.
var changedItem2 = listitem.GetById(listitemId);
context.Load(changedItem2, item => item.Client_Title);
context.ExecuteQuery();
var title2 = changedItem2.Client_Title;
EDIT:
an even better approach would be to do a single query line and get rid of everything else
var changedItem2 = context.Web.Lists.GetByTitle("Site Pages").GetItemById(listitemId);
context.Load(changedItem2, item => item.Client_Title);
context.ExecuteQuery();