yet when TIMEOUT is set sync retrieval may return a buffer that is possessed by a process.
(with-current-buffer (url-retrieve-synchronously "http://gnu.org" nil t 3)
may end with:
Buffer " *http gnu.org:80*" has a running process; kill it? (y or n)
and even after aswered "yes" number of buffers is incremented.