When a TCP connection is established, there is a so-called "three-way handshake" at the start, this consists of packets containing no data, just the TCP headers with the "Ack" bit set and various sequence numbers to satisfy both ends that everything is OK.
After that, it is usual for the receiver to periodically acknowledge data being received. Often this is done by setting the Ack bit on a convenient outgoing chunk of data. If the communication is mostly one way I expect the receiver will have to occasionally send an empty packet to acknowledge receipt of data received so far. A large block of data is usually split into many small packets to traverse networks with low maximum transmission units (MTUs). I don't have the details to hand but I suspect the transmitting end may become anxious if it sends many many packets and doesn't ever receive an ack, even if the receiver has nothing else to say.
So acknowledgemet packets not containing data are not necessarily a cause for concern.