The underlying problem was that I was using a single cached DBContext for each call instance.
In order to prevent the DB context caching the data I implemented the AsNoTracking extension from the System.Data.Entity
dll.
return (ctx.CollectionValues.Where(l => l.LayoutID.Equals(layoutID))
.Select(v => new MeasureValueDto { MeasureID = v.ScreenItemID, DataValue = v.Value }).AsNoTracking().ToList());