I used to replace my chains a couple of times per year.
I decided to see what would happen if I did not do this.
My cassette is a Campy Chorus 9speed and I put it on my bike in 1999. The Chain is a Campy Record which I put on nearly 10 years ago...that's right 10 years. It reached a certain stretch point and has not stretched further in years. It is still quite and works perfectly. The cassette looks fine.
I clean and lube my chain every two weeks...immediately after any ride when I get caught in the rain. This is standard cleaning practice for me and has been for decades.
I average a bit over 3000 miles per year which is a bit lower than my mileage...around 5000 miles per year...when I was racing. I'd guess I have over 35000 miles on this chain and over 50000 on the cassette.
This test was on a whim and thus far it has paid off in spades. I do have a new Chorus cassette and Record chain ready to go when needed but I'll keep the chain and cassette until one or the other fails.