This paper examines Java security models and describes security issues in garbage collection, memory metrics used to predict program behaviors, and their relations. These metrics are collected and analyzed at run-time to assure dependability. Undependable factors come from heap memory attacks which are introduced and classified into "slow death and 'fast death" categories. "Slow death" is to chronic diseases what 'fast death" is to sudden death. "Slow death causes programs dying; 'fast death" terminates a program. These are potential scenarios if garbage collection is under attack Experimental studies show that garbage collection may be invoked 2 7 times more than the normal situation. Furthermore, presented is a run-time monitoring system that can detect anomalous program behaviors using the collected memory metrics. This can be a run-time throttle that controls program behaviors and a postmortem diagnosis technique in case of heap memory attacks.