As Mars0i says below, this is due to concat; more specifically, since map, partition, and concat all return lazy sequences, with recursion you are constructing a large chain of nested lazy sequences, as explained here:
http://stackoverflow.com/questions/5294055/why-am-i-getting-a-stackoverflowMore in-depth analysis of a similar problem:
https://www.ksmpartners.com/2014/01/clojure-lazy-seq-and-the-stackoverflowexception/I applaud you for testing your solution with large n to make sure it's robust; since the 4clojure test cases all have n <= 11, my solution, and the solutions of those I follow, including many very good clojure programmers, also failed at large n. Keep up your good habits.