In certain situations, pfinet spawns more and more threads, apparently without any bounds.

The thread creation happens in bursts rather than continuously. According to a backtrace in GDB, all the threads are functional and waiting for client requests. (The bursts are getting smaller as the number of threads rises, but probably only because the enormous number of existing threads slows down processing in general.)

This can be triggered quite reliably by X clients running on the Hurd system, connected to an X server on another machine over TCP, and transferring fairly large amounts of data. The easiest way to reproduce it I found is launching freeciv-gtk2, pressing the "new game" button, and then simply waiting for a while.