microsoft/botbuilder-dotnet#4935
OnCondition.GetExpression() was caches the root expression, but all of the children which override GetExpression() were not. This means all child conditions which overrode GetExpression() were calling Expression.Parse() on EVERY call, causing us to parse and allocate Expression obejcts every time we evaluated an trigger. This creates a huge overhead for evaluating triggers.