CollectionEditor
System.ComponentModel.CollectionEditorというクラスがあります。
PropertyEditorでコレクションの編集をするときに使うわけですが、
こいつには単にICollectionを実装したクラスを渡してもだめです。
MSDNには↓のように書かれています。
継承時の注意 このエディタでは、Item プロパティを持つコレクションを編集できます。このエディタは、Item プロパティがある場合、その値からコレクションの型を判断します。コレクションにこのプロパティがない場合、または複数の型のコレクションを編集する場合は、このクラスの特定のプロテクト メンバをオーバーライドして、他の型のコレクションもサポートするようにエディタをカスタマイズできます。
CollectionEditor Class (System.ComponentModel.Design) | Microsoft Docs
Reflectorで中身を見てみると、実際には「Item」または「Items」という名称のプロパティが
存在しなければならないようです。
CollectionEditorという名前なのにICollectionを実装しただけではだめなんですね。
いっそIndexAccessibleCollectionEditorとかそんな名前にしてほしかったorz