Kevin,
If oApplication.oImageParams is your custom object, then you are just always modifying it, what you need to do is create a new instance everytime and then add it to your collection, otherwise, for oParams is always a pointer to the very same object, you are just overwriting it, which is what you see.
"The five senses obstruct or deform the apprehension of reality."
Jorge L. Borges?
"Premature optimization is the root of all evil in programming."
Donald Knuth, repeating C. A. R. Hoare
"To die for a religion is easier than to live it absolutely"
Jorge L. Borges