Typically the TCP connections to DNS servers are expected to be short lived, ie: the client connects, sends the query and disconnects on getting the response.
If a client wants to keep a long lived TCP connection to a DNS server and use it whenever a query has to be sent, is this a safe/acceptable practice ? For DNS servers long lived TCP connections could be construed as a DOS attack. Do DNS servers typically track TCP connections and try to close the long lived ones ?