It will return to 1 and use that, but only if 1 is free. The earliest process numbers many times end up being assigned to services which never terminate. If you perform "ps -e" you should see all processes and their PIDs which are currently in use. Therefore it will choose the next available PID value which isn't being used by another process.
Like on my system, 1, 2, and 3 are still taken. 4 is unused, so if/when my PIDs wrap, it will eventually use 4, and next 5. But since 6, 7, and 8 are taken, it will skip those and use 9.
Code:
$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Nov21 ? 00:00:00 /sbin/init
root 2 0 0 Nov21 ? 00:00:00 [kthreadd]
root 3 2 0 Nov21 ? 00:00:04 [ksoftirqd/0]
root 6 2 0 Nov21 ? 00:00:00 [migration/0]
root 7 2 0 Nov21 ? 00:00:00 [watchdog/0]
root 8 2 0 Nov21 ? 00:00:00 [migration/1]
root 10 2 0 Nov21 ? 00:00:05 [ksoftirqd/1]
root 12 2 0 Nov21 ? 00:00:00 [watchdog/1]
root 13 2 0 Nov21 ? 00:00:00 [cpuset]
root 14 2 0 Nov21 ? 00:00:00 [khelper]