1. A computer-implemented method for identifying potential failures to deallocate memory by a target program, the method comprising: receiving, from at least one user computing device, memory information corresponding to memory use of a target program; generating, based on the received memory information, a weighted object graph, wherein the weighted object graph corresponds to a representation of a plurality of objects identified based on the received memory information, and wherein each object within the weighted object graph is weighted according to the portion of the received memory information which corresponds to the object; determining one or more patterns within the weighted object graph, each pattern corresponding to a collection of one or more objects within the weighted object graph; for each determined pattern, determining a frequency of the pattern within the weighted object graph; and ranking the determined one or more patterns based at least in part on the frequency of the pattern within the weighted object graph, wherein the rank of each pattern corresponds to a likelihood that the pattern is indicative of a failure to deallocate memory within the target program.