Oil is fine, did an oil change last september. Nope it doesn't smoke at all. Its just that after filling up the coolant tank it goes for 2-5km and it wants to be topped up
How much coolant is it using in those 2-5km? I ask because I recently had an education on why E46 owners go full nuclear on replacing the cooling systems when things like this happen.
I am not saying this is your case, but that's why I am asking just how much it is taking. Multiple factors caused by multiple things:
-Seam leak in expansion tank that only showed under pressure
-Aftermarket radiator cap
-Air in system caused because of items above leading to it 'burping' sporadically and dropping the level. We went crazy looking for leak after leak after the obvious candidates were found and ruled out.
After all this and having work done at BMW, they had confirmed that there were no leaks after pressure testing the car... but the level still dropped a week or so later which is when we ended up changing the very last missing link: The radiator cap

. Nobody suspected it because it was a 'new' part (Goldwagen)
Anyway the solution was to replace the items with OE and vacuum fill the system to eliminate all the air.
I agree with comments above: Pressure test the system, if no leaks, vacuum fill it and then replace your radiator cap...