Wanted to post my issue with this problem.
I had only dome/cargo/interior lights staying on. No "door ajar" problem, just the lights.
Read that wd40 does the trick, but not in my case. I took both doors apart, latch out, top and bottom switches of the latch Ohm tested and they all tested fine. Thought for sure it might be a broken wire between the door and body, through that rubber tube/boot, but after bruising my wrist tendons found no broken wire.
Took the boys to baseball practice today and was ready to remove the fuse so the battery wouldn't die and thought, maybe something with fuse panel/GEM/delay relay, something down there. So there I am, upside down pulling relays, testing and whatnot, got pi55ed off and just started banging on the backside of the fuse panel (is that the GEM?) with a pair of pliers and what do you know, the lights started working as they should. HA!
I skimmed that "solution" on some website forum, someone had mentioned tapping on the GEM for this issue. Well, that seems to have worked for mine. maybe 1 of the contacts wasn't making a contact? If it happens again, I'll probably tear it all apart and lube up the contacts.
Just wanted to throw this out there, in case it might help someone else....