I personally observed these blocks at the following times:
2015-05-02 12:25:21 UpdateTip: new best=00000000000000000f8d7a12d307ddc717cab90d2ced5c7320624a13714b0aa3 height=354640 log2_work=82.71737 tx=67422028 date=2015-05-02 12:24:26 progress=0.999999 cache=14812
2015-05-02 13:01:37 UpdateTip: new best=00000000000000000a1ebf23947c2dc38f980c66c1fd1303235326e36ea5afae height=354641 log2_work=82.717407 tx=67424094 date=2015-05-02 13:02:15 progress=1.000001 cache=9138
2015-05-02 13:05:29 UpdateTip: new best=00000000000000000f181b8cfb70624cd74bcac01c930657bd1bde85ff59e7fd height=354642 log2_work=82.717444 tx=67424677 date=2015-05-02 13:12:17 progress=1.000007 cache=10305
2015-05-02 13:08:46 UpdateTip: new best=000000000000000015c33a22604bd9c01806c3add1b33d6b8dd1e663da95cbd1 height=354643 log2_work=82.717481 tx=67425354 date=2015-05-02 13:11:28 progress=1.000003 cache=11807
So gaps of 36:16, 3:52, 3:17. Given a ~10 minute expected time about a third of blocks are 3:17 apart or less.
Interesting. Do you have statistics of time lags between your receiving time and block timestamps? How do they compare to the same statistics on other nodes? I guess by comparing timestamps on different nodes one can tell which miners and how much are using the malleability of timestamps.