I'm building my own form creator in angular 6.1. I've made reproduction code - here it is: https://stackblitz.com/edit/angular-svpkpx?file=src%2Fapp%2Fapp.component.html
As in example. When You add some dynamically created fields angular performs async validation on field that is intact. It also throws ExpressionChangedAfterItHasBeenCheckedError
when those fields are in ngFor
loop.
When there is no ngFor
loop there is non ExpressionChangedAfterItHasBeenCheckedError