I read the following on python-requests website: 

Note that connections are only released back to the pool for reuse once all body data has been read; be sure to either set stream to False or read the content property of the Response object.

But as I use the object returned by req.json() and doesn't use req thereafter. I wonder when is the connection released? I don't really know how to check that for sure too.
Many thanks
You could answer your question quite simpply by reading the source code. But anyway: response.json() does read the response's content, obviously - it's just a convenient shortcut for json.loads(response.content).
In requests-python, when is connection released when using req_json = req.json()?