First priority: is the circuit as described? What is the layout?
Second priority: does the explanation actually reproduce the problem?
Third priority: propose a solution; does it actually solve the problem, without causing other issues?
Let's reproduce the problem, and then explain it. While I can't be sure this is using the same layout, it seems a likely cause, but more on that in a moment.
First, let's simplify the circuit. R4, C2, C1 and R1 can be removed entirely, having no effect on the circuit, or at the oscillating frequency. (Some argument can be made for C1+R1, depending on the amp's output impedance at high frequencies; but likely it's still a negligible effect.) R6 and C3 can be removed, since R2 || R3 has almost identical Thevenin resistance and the lowpass is unimportant at this frequency. (Presumably this is intended to reduce Vcc noise coupling into Vin? With this much gain, that probably is worthwhile.) Also C4's value is fairly unimportant, but we can come back to that if we need to.
This leaves us with this circuit:
simulate this circuit – Schematic created using CircuitLab
I'm also using TLV2372 because it's what I have to hand. This is 3MHz GBW instead of 10, so everything should be about equal when Fosc = 41.5kHz.
Powered up at 5V (with a 1uF electrolytic bypass, and the other half strapped to GND), the output is a stable 2.5V as expected.
Can we make it oscillate? Without rearranging too many connections, we can probably make a multivibrator by adding a capacitor from
-IN. Let's see how that looks:
simulate this circuit
This gives the waveform:
+IN (AC coupled), Ch3 is
VO (DC coupled).
That doesn't look very close, though. Let's see what happens as C2 is reduced:
Note the Ch1 scale is now much finer. Frequency is higher than predicted, and the waveform still doesn't look right, so it's not clear if there are other differences, in circuit, layout, or the op-amp (though the latter seems likely).
I don't have smaller values, so let's try a different tack. And now I need to show the layout myself:
Notice the blue jumpers connecting empty positions by
+IN. Solderless breadboards are notoriously capacitive, about 4pF between adjacent strips. Evidently this should add about 8pF. With your 10MHz op-amp, perhaps one slot pair would be enough.
The waveform is suspiciously similar:
Notice the double-humped sort-of-triangular waveform at the input, and its relative phase. We now see that it's not so much a humped triangle, but a pulse-then-return-to-zero waveform that just doesn't spend much time returning to zero!
Simple: don't do that! Mind the capacitance of the breadboard. Don't mix inputs and outputs, especially over multiple parallel positions. Move it to perfboard or copper clad (deadbug or Manhattan style), or make a PCB. Anything to counter the capacitance will do; a few pF in parallel with R1 basically balances the capacitive divider thus formed.
This effect might even be a little helpful, if you're going for optimal bandwidth: some peaking should be possible. I think a shunt capacitor on
-IN would be the preferable way to do that, but whatever works; mind that you can easily take peaking too far and end up with an oscillator (like this!), and GBW isn't always the most stable characteristic so you might not get great repeatability this way. This also increases the noise level around cutoff (because, quite literally, the noise gain is being increased there).
If you need bandwidth, the easy way is to simply get a better amp. Also consider decompensated types, which are NOT unity-gain stable but offer proportionally higher GBW. Or if you have a free half, just cascade both at Av = 10 each.
Or if gain and distortion aren't very picky, you might even use a discrete circuit; a couple BJTs will achieve around this gain well enough. But the op-amp is probably the simplest (and maybe even cheapest).
What didn't work:
- Splitting the feedback resistor (R1 / original R5) in half and loading that with capacitance (so, 47k + C shunt to GND + 47k); this only oscillated with a quite large value (22nF+) and at quite low frequency (<1kHz). This more than rules out "stray capacitance due to its large value" as an explanation.
-IN with capacitance. Even with 47nF shunting to GND, the loop remained stable (peaked, yes, but not unstable). This more than rules out stray capacitance here as an explanation.
- Likewise, loading between inputs with capacitance. This does produce oscillation, but only with rather large values: 4.7nF in my test, and then at quite a low frequency (7.1kHz). (The value is proportional to C1.)
- Swapping inputs. The output simply latches in one state, for most obvious miswirings; the motivation here is, a traditional multivibrator circuit has positive (static) feedback, and negative feedback which dominates at low frequencies (typically an R-R divider (plus biasing) from
+IN, and an R-C divider from
-IN). The problem is the coupling cap, which breaks DC feedback so it just charges full and the inputs never cross again (stays latched).