The xp reward is scaled to the current pick pocket skill, which follows the original design. Rogues get full stealth towards pick pocket or pick lock. Magician, mercenary, and the new Ninja class get 50% of stealth.
So a basic pick pocket/pick lock for rogue grants 35 * STL in XP. As STL goes up, this raises, but it doesn't scale as fast as required XP for levels. So the XP bonus becomes less useful with time. Picking a supperior lock is 50 * STL. (The other classes is 35 * STL/2 and 50 * STL/2 respectively) Failing at either grants no XP.
I wanted to experiment with unlimited stealing, so I've created a pile of junk that is used in case the first item is stolen. So the flag that is set to mark a monster as out of items causes a random piece of "junk" to be given. Most of the junk is copper coins, food, and rusty weapons. Sometimes you get gold, silver, ammo, or healing potions.
This works pretty good because most characters will alarm a monster by the 3rd attempt. A very lucky thief will get 2 items and then cause alarm. After testing, attempting to steal during combat is very hard and frees up time for monsters to retaliate. There's only a small number of monsters that can legitimately be snuck up on without translucency or invisibility. The first is the druid by the teleporter in quest-1/level-1. It is extra interesting when stealing is successful because your mouse hand becomes full and you must spend time emptying it before continuing.
I plan on running my ninja through to a much higher level. If the pick pocket junk pile gets too bad, I'll remove it. Just an experiment at the moment.
