The oil level senders on the e46's always have problems, so with the tech replacing that first is the most senseable thing. Ive never seen an oil pressure switch go on them but theres always a first. Also change the oil at the same time, like said before it can be contaminated.
There could also be some road debris or moisture in the connector causing it to happen. Not likely but possible.
And lastly the engine harness could be faulty causing the light to come on. Theres not many other things that factor into the light comming on other then low oil level.