According to Minecraft Wiki > Ocelot#Taming:
When the fish is held, the Ocelot will slowly approach the player, and when it stops, right-clicking raw fish on the Ocelot will begin to tame it. The Ocelot will begin emitting hearts when fed, but is not actually tamed until it changes to a cat. Taming an Ocelot is likely to take more than one fish, sometimes up to five.
If Right-clicked and nothing happens, then:
- The player is chasing it.
- The player is not within 5 blocks of the Ocelot.
- The player or the Ocelot is in a minecart.
- The Ocelot cannot escape (if it is on a structure that is more than 4 blocks high).
- The player has already moved or taken damage from a hostile mob.
And in Minecraft Wiki > Ocelot#Trivia:
If you fail to tame an ocelot, it will still show heart particles. Dinnerbone states that it was because they like you for giving them fish, but still want more. Studying the game shows that they are actually going into breeding mode, and if there are two such ocelots in the area they will spawn a baby.
So, it is true that ocelots will want to breed. To really tame it, you shall keep on giving it fish until it is finally tamed and turns into a cat. Also, prevent moving or rotating the camera too quickly. If it is not accepting fish, it may be frightened or it is too far from you (see above).
In the screenshot you provided, it seems that the ocelot is more than 5 blocks away from you. This might be the cause of it not accepting more fish from you (since you can't give it fish when it is too far away). Also, it looks like being frightened by you. If you have moved or rotated the camera, that would explain.