DD2 used to do this kind of thing, aged about 5-7.
We had the impression that she really like very small things that she could hold in her hand, or hide in her pocket.
eg, she would take her sister or brother's playmobil or Lego figures.
One time, aged about 5 and a half, we were in a shop and, the next day (100 miles away), we discovered that she had taken a small packet of miniature crayons.
On another occasion, she took a tiny Easter decoration from a garden centre.
In the first instance, we made her write a letter to the shop, and returned the goods. (We wrote a covering letter.) I guess we hoped that they might write back, saying something like she shouldn't have done it, but well done on owning up and sending it back. There was no response, though.
In the second instance, we discovered the theft an hour or so afterwards, and drove back to the garden centre. DD2's dad took her in and got her to hand it over. The people at the garden centre said, "Oh, it's ok - it's just a wee thing: she can keep it." NOT the response we had been hoping for!
All we did was never let it go; we would talk to her about things belonging to certain people and make her return it, with appropriate apologies. It was complicated because she was (and still is, aged 18!) very generous with her own belongings: if someone admired something of hers, she was very likely to give it to them. Any time she took something, we made her give it back, and apologise. Eventually it stopped. She still likes small things, though, and usually has some kind of charm or small object in her pocket, her bag or her purse. If you want to give her a treat, all you need to do is buy a Kinder Surprise egg - if it contains a little model, she is likely to be carrying it around for weeks.