Calling net.Start with unpooled message name
When calling net.Start the message name should be pooled. This means that instead of sending the string over the network - it will be able to send a number representing the string.
To pool a string you need to call
serverside before trying to send the message. Ideally you'd do this when your Lua files are being loaded - but where that's not possible you need to do it at least a couple of seconds before calling the message to be sure that it'll work.
util.AddNetworkString only needs to be called once - and can only be called serverside.