Проблема в том, что у вас есть функция, определяющая ваш список, что означает, что ngFor постоянно повторяется, это очень плохая практика, angular пытается спасти вас, создавая только один раз компоненты, но изменяя входные данные.
Ваше исправление здесь состоит в том, чтобы прекратить использование функции в шаблоне и просто запустить ее при необходимости.
<div *ngFor="let rc of sortedRuleImplementations">
<vi-rule-contract [descriptor]="ruleDescriptors[rc]" [item]="action" [rc]="rc">
</vi-rule-contract>
</div>
this.sortedRuleImplementations = this.sortedKeys(ruleImplementations);
Я не могу сказать из вашего кода, когда изменяется ruleImplementations, но вы можете сделать это в заметной подписке или что-то в этом роде