Drew,
I don't entirely understand the code fragment above, but based on my limited understanding I have two suggestions that might help.
1. CreateChainedOperation() is used when you need to use information from one operation to feel another, and you want to create a single item on the Pro operation stack. I don't see this happening here. It looks safe to delete that line of code.
2. I would move the call to createOperation.Execute() out of both loops. You're left with
a. Create an edit operation using new EditOperation()
b. step through your loop, creating points that are within the block polygon using EditOperation.Create()
c. Call to EditOperation.Execute(), which should create all of your points at once
Let me know if this works for you,
--Rich