EntityCollection<IEntity> c = new EntityCollection<IEntity>();
I don't see how this could work. In the current version of LLBLGen you have to supply a factory method so that, I believe, the collection knows how to create an instance of the objects it contains.
With..
class EntityCollection<K>
..then you can, of course, just call...
new K();
But you can't instantiate an instance of an interface.