         for refWatch in refsToWatch {
             if let ref: AnyObject = refWatch.ref {
                 if (hasRefLikelyLeaked(refWatch)) {
-                    alertThatRefHasLeaked(ref, name: refWatch.name)
-                    removeRefs.append(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)

    }

    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()

        weak var ref: AnyObject?
        var name: String
        var date = NSDate()
        var failedChecks = 0

        init(ref: AnyObject, name: String) {
            self.ref = ref
