Please note line 65 and 70 which define an Array as "subclasses" and push content into it. However, I'm grepped whole codes and it seems this variable is not used anywhere. On the other hand, it will cause the created "klass" is referenced by parent and is never freed by Garbage Collection. If I run this function repeatedly:
function() {
var klass = Class.create(parent);
}
It will cause memory leak because klass is referenced by parent.
It is not memory leak. Your code may create new class instances or new subclasses at any time. If you have created millions of classes and want to "forget" some class to free some memory then you are probably doing something wrong.