From what i've understood, The Oracle, has identified agent Smith as an equation, trying to balance itself out, being the opposite of Neo, perhaps Neo had to die in order for Agent Smith to be destroyed.
Although, when Smith has taken over the world and multiplied itself into every single program, he has, presumably also multiplied itself into every single human being, who was jacked into the matrix.
In the last scene, where the Architect tells the Oracle, that the "Others" shall be released, means that "virus", which was injected by the source into Neo, did not kill other human beings who were possesed by Smith.
That means there's a chance Neo might still be alive (not only because of that, but also because, when Smith was destroyed, Source said "It is done", and it would be rather unusual for a machine to speak with a dead body), however that may also mean, that in order for Smith to be destroyed Neo had to die, because Smith somehow copied his source into Neo.
I guess the choice is left up to you to make up your damn mind.