Beamforming using MATLAB
In MATLAB the default direction of orientation of Planar array is y axis, which can be seen as

ula.getElementPosition

ans =

         0         0         0         0         0         0         0         0         0         0
  -22.4844  -17.4879  -12.4914   -7.4948   -2.4983    2.4983    7.4948   12.4914   17.4879   22.4844
         0         0         0         0         0         0         0         0         0         0


which makes your planar array graphical representation of antenna elements as beam pattern to be



The Pattern is identical in front and back of the planar array, so this bring us to the region of operations for your case either front of array or back of array.

In case you want to shift the beam to 30 degrees then you can not distinguish between +30 and +150 degrees because as per matlab definition of azimuth angle which can be found here we are looking at identical beams in different regions as can be seen from the figure below


I have tried to change the azimuth angles as per MATLAB convention +30 and -30 degrees and the signal is now separable. So you can work from +90 to -90 degree for Region 1

The modified code 

clear;
clc;
close all;
t = 0:0.001:0.3;                % Time, sampling frequency is 1kHz
s = zeros(size(t));
s = s(:);                       % Signal in column vector
s(201:205) = s(201:205) + 1;    % Define the pulse
s_2 = zeros(size(t));
s_2 = s_2(:);                       % Signal in column vector
s_2(41:47) = s_2(41:47) + 1;    % Define the pulse
figure(1)
plot(t,s, t, s_2);
title('Pulse');xlabel('Time (s)');ylabel('Amplitude (V)');
carrierFreq = 30e6;
wavelength = physconst('LightSpeed')/carrierFreq;
ula = phased.ULA('NumElements',10,'ElementSpacing',wavelength/2);
ula.Element.FrequencyRange = [90e5 110e6];
inputAngle = [30; 0];
x = collectPlaneWave(ula,s,inputAngle,carrierFreq);
inputAngleTwo = [-30; 0];
x2 = collectPlaneWave(ula,s_2,inputAngleTwo,carrierFreq);
rs = RandStream.create('mt19937ar','Seed',2008);
noisePwr = .5;   % noise power
noise = sqrt(noisePwr/2)*(randn(rs,size(x))+1i*randn(rs,size(x)));
rxSignal = x + x2 + noise;
figure()
subplot(211);
plot(t,abs(rxSignal(:,1)));axis tight;
title('Pulse at Antenna 1');xlabel('Time (s)');ylabel('Magnitude (V)');
subplot(212);
plot(t,abs(rxSignal(:,2)));axis tight;
title('Pulse at Antenna 2');xlabel('Time (s)');ylabel('Magnitude (V)');
psbeamformerOne = phased.PhaseShiftBeamformer('SensorArray',ula,...
                'OperatingFrequency',carrierFreq,'Direction',inputAngle,...
                'WeightsOutputPort', true);
[yCbf,w] = step(psbeamformerOne, rxSignal);
figure()
subplot(2,1,1)
plot(t,abs(yCbf)); axis tight;
title(['Output of Phase Shift Beamformer when beam is at: +30 degrees' ] );
xlabel('Time (s)');ylabel('Magnitude (V)');

clear yCbf w;
psbeamformerTwo = phased.PhaseShiftBeamformer('SensorArray',ula,...
                'OperatingFrequency',carrierFreq,'Direction',inputAngleTwo,...
                'WeightsOutputPort', true);
[yCbf,w] = step(psbeamformerTwo, rxSignal);
subplot(2,1,2)
plot(t,abs(yCbf)); axis tight;
title(['Output of Phase Shift Beamformer when beam is at: -30 degrees' ] );
xlabel('Time (s)');ylabel('Magnitude (V)');


Result:



Now the two signals are separable