In first: I don't sure about this my answer.
Maybe problem in sqlnet parameter:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

U have to check period, how often NT server check
authentication datas on windows client. and which layer of
OSI model NT have to use for this procedure.
when u execute long query and use direct soket connection
to oracle database they will use 3 upper layes of OSI models
If NT authentication procedure use the same layes it may
create conflict situation and NT network software MAY (I DON'T SURE) close soket.

Try to exclude this parameter from sqlnet.ora file.