ExpressionHelper.Generic is a utility class that is used in the implementation of bindings. When bindings are created and disposed listeners are added and removed from ExpressionHelper.Generic. This is done using an array list, leading to poor performance of List.remove when the list grows too large. Using a set would improve performance. The solution would need to ensure that the performance and memory doesn't suffer for a small number of listeners.