I have a problem with the way the task is named in OscSender...

It is std::string("OscSenderTask_") + std::to_string(port) which makes it impossible to create two OscSenders to send to two different IP's on the same port. I suggest to change it to
std::string("OscSenderTask_") + ip_address +std::to_string(port)