This might be a side effect of using autocommit. Since Django 1.5 kept a transaction open in that case, MySQL couldn't close the connection. Now it can.
Could you try the following snippet to confirm my hypothesis?
>>> import django.contrib.auth.models
>>> from django.db import transaction
>>> with transaction.atomic():
... print list(django.contrib.auth.models.User.objects.all())
... import time
... time.sleep(15)
... print list(django.contrib.auth.models.User.objects.all())
You shouldn't get a timeout when you run this on Django 1.6.