fix handling of weak references with no finailizer. implement prompt GC with performGC