An object allocated in NVM is persisted permanently even when the power is turned off. When the persistent object becomes garbage, it causes fatal space overhead in the system, and previous studies on NVM management schemes did not address an effective solution to this problem. In this paper, we propose a Two-Tier Garbage Collection (TTGC) scheme for fast and stable garbage collection in C language based persistent heap system, and validate the algorithm by implementing the technique in HEAPO, a persistent heap library for NVMs. We also verify that this scheme works more effectively than the other garbage collection techniques using other persistent heaps. Proposed technique shows about 4 to 11 times better performance in garbage collection complete time than the techniques.