Someone requested I answer my own question instead of editing. So here is the answer again.
This was not a well documented answer. It appears in some of the newer versions of android, there is a bug with recycled url connections. To fix this (although there may be some performance issues), I needed to add:
if (Build.VERSION.SDK != null && Build.VERSION.SDK_INT > 13) {
urlConnect.setRequestProperty("Connection", "close");
}