It's based on calendar days, not days of runtime, but it's a little more complicated than just "every 35 days". The default scrub runs once a week (and I don't remember the time or day, so for the sake of discussion, let's say it runs at 1:00 Saturday mornings), and it has a threshold of 35 days, or 5 weeks. The threshold measures the time since the last scrub completed (or since the pool was created, if no scrub has been completed), and if that time is less than the threshold, the scrub doesn't run. The scrub, of course, takes some non-zero amount of time to run. So let's say it ran Saturday morning, 2 Jan, at 1:00, and took an hour to run. Five weeks from then, on 6 Feb., at 1:00 AM, the script will run, check the threshold, and see that it's been less than 35 days since the last scrub finished (it's been 34 days, 23 hours), so the scrub won't run. The following Saturday morning, 13 Feb., the scrub will run.
What all of that means is that the default schedule actually works out to a scrub every six weeks.