Band Limit in Gaussian Pyramid
It's due to the weighting function used in the Gaussian pyramid downsampling.

Lets take a 1D patch(1D patch because it makes our calculation easy and also the kernel is separable) with p10,p11,p12,p13,p14,p15 in the Level 1. 

Assume maximum gradient possible is Max - Min between any two pixels.

The pixel p20 in level 2 is formed by influence of pixels p10,p11,p12,p13,p14 in level1 and pixel p21 if formed by influence of pixels p12,p13,p14,p15,p16. The corresponding image(I'm not not able to upload image).

The weights of the kernel  are

w(0) = a,

w(-1) = w(1) = 1/4 

w(-2) = w(2) = 1/4 -a/2.


  For Gaussian pyramid a = 0.4(approximately)
  
  w(0) = 0.4 
  
  w(-1) = w(1) = 0.25 
  
  w(-2) = w(2) = 0.05


The equation for new pixel p20


  p21 = w(-2)*p10 +w(-1)*p11+w(0)*p12 +w(1)*p13+w(2)*p14


Substituting the values for the weights we get,


  p20 = 0.05*p10 + 0.25*p11 + 0.4*p12 + 0.25*p13 + 0.05*p14


Similarly value of pixel p21


  p21 = 0.05*p12 + 0.25*p13 +0.4*p14 +0.25*p15 + 0.05*p16


Now the difference between pixels p20 and p21 is,


  p20 - p21 = 0.05*p10 + 0.25*p11 +0.35*p12 -0.35*p14 -0.25*p15+0.05*p16


So for the difference to be maximum p10 = p11 =p12 = Max and p14=p15=p16 = Min


  p20 -p21 = 0.7(Max-Min)
  
  p20- p21 = (Max -Min)/√2


Since the filters are separable, applying the kernel in another direction over the image again will reduce the pixel difference by a ratio of √2.
The maximum gradient in x and y direction in next level of Gaussian pyramid is (Max - Min)/2

The maximum gradient possible is reduced by half or in frequency domain reduces the frequency by half(an octave).