Two comments on this file. 

* What's the benefit of using `TcpPortAllocator` instead of `NetworkTestUtils`?
* Object `TcpPortAllocator` extending class `TcpPortAllocator` is confusing. By convention, an object with the same name as an existing class is considered its companion object, providing the static members of the class. Inheriting it is very unusual and misleading. I would consider one of the following:
  * Rename object `TcpPortAllocator` to `TcpPortAllocatorOver5000` to reflect the fact that this is a more concrete  `TcpPortAllocator`. 
  * Remove `TcpPortAllocator`, turn the class `TcpPortAllocator` into an object, and set `initialPort` as `val InitialPort = 5000`. 

My suggestion is the second one.