The culprit is analyticity: having non-zero negative frequencies.
"Windowed Fourier Transform" is one perspective of STFT; fundamentally, it's convolutions of windowed complex sinusoids with the input, i.e. bandpass filtering. Explained here.
From convolutions perspective, the picture is obvious; here's the filterbank:

Conv in time $\Leftrightarrow$ mult in freq. Hence, each STFT row is generated by multiplying a STFT filter by input's spectrum, then taking ifft
. A pure sine is two unit impulses in frequency - thus, we're taking ifft
of their re-weightings:

Shown in black in last subplot are envelopes, i.e. |STFT|
. Relevant here is
$$
\cos(A) + \cos(B) = 2 \cos(.5(A - B)) \cos(.5(A + B)) \tag{1}
$$
i.e. Sum of Sines $\Leftrightarrow$ A.M. Sine. Indeed in case of freq=128
we get such a sine since the symmetric filter is centered right between the unit impulses, and in freq=121
a watered down version of it. This wouldn't happen if the filters lacked negative frequencies. Results with x4 the n_fft
(i.e. more filters):

The context here is of course signal amplitude from |STFT|
- more fully, see STFT amplitude extraction criteria. Note that these proper real & imaginary parts are not reproducible with standard STFT implementations (scipy
, librosa
& others), covered here.
Why it's not about resolution
The link to resolution is indirect, all windows (except flat) experience this: higher time resolution ($\Rightarrow$ higher bandwidth) just increases the range of qualifying frequencies. An extreme counter-example is instantaneous AM-FM localization of crossed hyperbolic chirps, which requires excellent time resolution - piece of cake for CWT with Generalized Morse Wavelets:

and that's with SSQ doing wavelet-correctional heavy lifting; plain CWT:

The STFT is not limited to the standard, column-wise formulation; a row-wise implementation (sample here) can force filter analyticity.
Other answers: Phonon
The picture is incomplete.
What matters more is the sinusoidal behavior under the envelope, rather than envelope size alone, of a filter. What's true is, under standard STFT the sinusoids start to misbehave as the peak frequency nears Nyquist, and this effect is worsened by narrower windows. As was shown with CWT however, high time resolution and analyticity are compatible - and for our purposes, CWT is just log-scaled STFT.
Example:

Left is a reference filter, right is same filter with greater bandwidth and forced analyticity. It's true that left enjoys a greater Heisenberg time resolution, but right has narrower main lobe. Unfortunately this is always true unless we take the filter on right to an extreme (practically useless if this filter is part of an otherwise low-bandwidth filterbank): forced analyticity suffers long tails, and this can be understood in terms of periods of constituent sinusoids in relation to window size.
We see one of required sinusoidal behaviors in this Nyquist-centered edge case: having an imaginary part, which gets progressively attenuated for a frequency-symmetric filter (always the case for real-valued STFT window) upon introduction of negative frequencies. There's also norms and real-imaginary symmetries, that I've explored here.
Other answers: Jazzmaniac
Correct. Though concerning the comments, this answer's points on resolution apply (esp. frequency which is also satisfied per Heisenberg).
Animation
Full animation (epilepsy warning)
Another perspective is via sine STFT closed form solution (animation source; see under "Insights")
Answer code
Available on Github.