1 | initial version |
It's a rather course way of the server to break off the TCP connection completely, allowing it to free its resources. Otherwise it would have to keep them for the time it takes for the connection to be really timed out. You said in item 5 that the ack for the 149 bytes is sent by the server, so the client should be able to conclude that this data was transferred.
Maybe if you could put a capture file on a publicly accessible share and post the link here, this might prove more insightful.