Se você estiver usando a versão GNU do netcat, então você pode usar o sinalizador -c para fechar a conexão no EOF.
-c, --close close connection on EOF from stdin
Se você estiver usando a versão original da ferramenta, poderá usar o sinalizador -q.
-q secs quit after EOF on stdin and delay of secs
Um exemplo para a versão original é:
cat file.txt | nc -u -q 0 127.0.0.1 5144
Eu adicionei "-q 0" ao seu comando original. Isso fecha a conexão após o envio do arquivo.