I see no change in memory when I call GC.collect(). If I let the code run longer, however, I can see the memory suddenly drop periodically, indicating a GC cycle. My code is running in a loop, so the objects in use by the Kotlin memory model should be consistent at the end of any given loop iteration.