Without knowing what you're doing exactly, it's hard to say, but it sounds like you're doing:
for (...)
[[Foo alloc] init];
In which case you'll leak, just as if you did
for (...)
malloc(...)
or
for (...)
new ...;
If you're in a GC environment this isn't a problem (in Obj-C 2, with GC enabled retain/release don't have any effect at all). If you're not using GC then you're leaking every object that you alloc.
Alternatively, if you're doing something like
for (...)
[[[Foo alloc] init] autorelease]
You won't leak indefinitely, but none of your instantiated objects will be collected until you return to the top of the event loop (ie. your event handler finishes). In this case you can end up using lots of memory at once, without actually leaking it in the long term.