There is no limit, other than what the computer resources limit you to.
Is it always opening the same 23? If so, the others might have some corruption. Is it the first time you've opened these in Outlook 2010? Outlook ads additional properties to the contacts.
I tested 40. The first 25 were fairly fast - i didn't time it, but they opened all about the same speed, with the same delay between each. The last 15 slowed considerably, with some opening faster than others.
Trying the same 40 a second time, they all opened at the same speed, albet a bit slower between each. The contacts didn't fully draw on screen as the next one opened - the first 25 definitely loaded completey before moving to the next one the first time i opened them. The ones with multiple color categories seemed to be the slowest to open. My contacts are pretty simple, no attachments, most are just name and addresses- no color categories or business card customization or photos.
It seems like Outlook might cache them in memory - thats why they opened by didn't fully draw before outlook went for the next one. (Or I'm totally out in left field and outlook is just being goofy, as usual.)
ETA: I missed the 10 MB size part. I'm sure the slowness is related to the size.