I've had DMs
require that each player detail 3-5 important NPCs for the game. I love it--it forces me to think about who I know and how I know them, and it puts characters in the game that I'm immediately familiar with.
When Jason Blackteeth shows up as an NPC, if the DM created him, I'll initially have no idea how I should respond to him -- the DM's gotta say, "Oh, you know Jason from way back, he's an ex-member of the guard who you used to bribe to get important information," and only then can I roleplay my interaction with him. But if I created him, when he shows up I can immediately shout, "Jason! Long time no see -- you still runnin' from the feds?" Much more fun that way

.
However, I very rarely let (or have played in a game where) players describe how the NPC acts
during a session. The NPCs are all under the GM's control when the game is actually running. This allows for surprises. Maybe Frank, the guy I've set up to be my insufferably arrogant archnemesis, suddenly is acting all friendly toward me, and I don't know why. My nephew's urgent request for financial assistance, no questions asked, becomes a plot point. My ancient dad calls me to announce that he's getting married to his nurse. If the NPCs I created as a player were under my control, believe me, they wouldn't be acting like this

.
Daniel