Worker now properly ends (and joins) it's thread upon deletion