For anyone else that is interested, here is my (ugly/inefficient) code to do the job. 
radius_rm = 40; % radius within edge of point cloud to remove points. 
% get the boundary (my data is almost flat in the z direction; this will NOT work for more complex 3D shapes)
k_post = boundary(ptCloud_post.Location(:,1),ptCloud_post.Location(:,2)); 
% get the points within some radius of the boundary
indices_rm = []; 
for i = 1:length(k_post)
    [idxs,~] = findNeighborsInRadius(ptCloud_post,ptCloud_post.Location(k_post(i),:),radius_rm); 
    indices_rm = [indices_rm; idxs];
end
indices_rm = unique(indices_rm); 
% remove those points from my ptCloud_post. 
temp = ptCloud_post.Location;
ptRemove = ptCloud_post.Location(indices_rm,:); 
temp = setdiff(temp,ptRemove,'rows'); 
ptCloud_post = pointCloud(temp);