     }
 
     private func hasRefLikelyLeaked(refWatch: RefWatch) -> Bool {
-        let checkIntervalInSeconds: NSTimeInterval = 5
         var hasRefLikelyLeaked = false
-        if (abs(refWatch.date.timeIntervalSinceNow) > checkIntervalInSeconds) {
+        if (abs(refWatch.date.timeIntervalSinceNow) > frequency) {
             if let controller = refWatch.ref as? UIViewController {
                 if (controller.parentViewController == nil && controller.navigationController == nil) {
                     hasRefLikelyLeaked = true;
                 } else {
-                    refWatch.date = NSDate().dateByAddingTimeInterval(checkIntervalInSeconds)
+                    refWatch.date = NSDate().dateByAddingTimeInterval(frequency)
                 }
             } else {
                 hasRefLikelyLeaked = true

    }

    private func scheduleToRun() {
        let frequency = Int64(5 * Double(NSEC_PER_SEC))
        let delayTime = dispatch_time(DISPATCH_TIME_NOW, frequency)
        dispatch_after(delayTime, dispatch_get_main_queue()) {
            self.checkForLeaks()
            self.scheduleToRun()

        for refWatch in refsToWatch {
            if let ref: AnyObject = refWatch.ref {
                if (hasRefLikelyLeaked(refWatch)) {
                    refWatch.failedChecks++
                    if (refWatch.failedChecks > 1) {
                        // To prevent pausing in the debugger from throwing a false positive we make it fail the check twice
                        alertThatRefHasLeaked(ref, name: refWatch.name)
                        removeRefs.append(refWatch)
                    }
                } else {
                    refWatch.failedChecks = 0
                }
            } else {
                removeRefs.append(refWatch)
