why does my swap grow bigger day by day until I re-boot?

Linux spares your memory. When something is not needed into memory, it is swapped. If something else later on, it is swapped. If two days later, something is not needed, it is swapped. It will only be retrieved when you need it. That saves RAM so active processes have more memory and performance is better. Only parts of swap that potentially may be needed again are kept. There is no unused unallocated garbage accumulating there.

Linux is good in memory management. You can trust it.

That is to the "why".

To learn how you can manually clear the swap, see the answer of The MAJOR. A sudo swapoff -a followed by a sudo swapon -a will do. If you feel the need to run these commands, do that only if you are sure there is sufficient memory. Otherwise, the system will attempt to terminate processes to free needed memory. But, really, there is no need. Let Linux manage memory. It does so in a way that performance for you is maximized.