Sending large HTTP POST inside run() with requests package

Question about sending http post with large body via run() and using requests versus core.http. We noted that it fails using the run method with http requests and it works with the core.http. By failure i mean it runs and we see defunct processes eventually. We jacked the action timeout way up…but it never returns from run. Can someone explain why these 2 methods behave differently and when one should use the core.http versus run with requests. When i say large the body is about 2K lines of JSON.

ST2 3.5 fix???