As far as I understood, with the swarm provider, we don't automatically receive all real time events (as opposed to with the docker provider, where we do). This is why the swarm mode still has a ticker to regularly refresh events, at the interval defined by swarmModeRefresh (see https://github.com/containous/traefik/blob/v2.0/pkg/provider/docker/docker.go#L197 for the details). So yes, with the swarm provider, you still need this option set to a sensible value.
yes, might still be needed.
But I'm concerned about seeing "Creating", sounds lika a lot of overhead every 15 seconds.
In 1.17 it compared previous configuration to the new and only recreated if differed. (at least that's my understanding).
Even without this bug, one could end up observing the reported behaviour if one does not specify the network for their docker services, because swarm might balance containers between different networks, which would make the servers URLs "fluctuate" in the config. TL;DR: please do specify the network for each of your docker service.