This... specifically the way he felt FreeBSD over complicated threads.
A simple implementation would be "every user space thread has a kernel thread". FreeBSD kind of went to the "lets give a lot of knobs and levers for people to play with." It went to something similar to the old Solaris multithreading model where you can say how many kernel threads for each user thread, or one kernel thread per app, or whatever combination. This added a lot of complexity. Ironically, this happened just as Solaris was moving to a much simpler 1:1 model.
Dillon was worried that it would make it so complicated that only a handful of people could do any coding in the kernel scheduler. This for very little gain as most people couldn't do anything useful with those knobs and levers. He was kind of proven right. FreeBSD kind of stalled out for a bit.
That was the initial reason for the break. Over time, the design diverged to where he added more message passing architecture in the kernel, inspired by the Amiga's design.