Now I see all the code and tried it in a REPL, I can see the problem:
In get-biggest-prime-factor, when you recur, you pass (first (rest lazy-primes)) but lazy-primes doesn't change in the loop so you always pass 2 so it repeatedly checks the same values.
Also, in one recur, you are passing (first lazy-primes) as max-factor -- which, again, will never change.