Testing 2 parallel test using AndroidDriver causes the other to error when you use driver.quit()

I am using Java to run JUnit test’s in parallel to Appium servers configured with different ports and UUID’s for each device. I am running the same test on both phones. It looks like when the test ends on the first phone it somehow interferes with the other phone which is still processing the same test. This results in the error message and stack trace shown below.

This does NOT happen every time. It seems like most of the time the problem occurs but sometimes it will run a test on both without an issue.

I am wondering if the driver.quit() is killing the other currently opened other driver sessions?

Each JUnit test is run on its on Appium port and using the UUID of the device.

processBuilder.command("appium", "--log-timestamp", "--log",
                new File(logs, "appiumMCBLogger.txt").getAbsolutePath(), "-p", port, "-U", deviceSerial);

Environment

Appium v1.5.3 / Appium Java Client 4.0.0 / Appium 3.4.1

2 Different errors:
1:
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Android bootstrap socket crashed: Error: This socket has been ended by the other party (WARNING: The server did not provide any stacktrace information)

2:
org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: Could not proxy command to remote server. Original error: Error: socket hang up (WARNING: The server did not provide any stacktrace information)

I posted this here as well for more details: