Нет, это не абсолютно небезопасно. Хотя, очевидно, гораздо лучше избегать этого, если вы можете, потому что кто знает, в каком неопределенном состоянии будут находиться ваши структуры данных после того, как вы начнете не выделять память.
Существует много приложений (особенно веб-приложений), которые очень хорошо справятся с ошибками при выделении памяти. Тем не менее, является ли это безопасным или нет, в значительной степени зависит от применения. Код, который постоянно обновляет общие ресурсы, будет хуже, чем, к примеру, снова веб-приложения, которые имеют большую степень разделения между различными задачами и обычно имеют мало общих ресурсов.
Главное, что вы тщательно оцениваете свое приложение и хорошо представляете себе ловушки, с которыми вы можете столкнуться. Это и попытайтесь перезапустить JVM как можно скорее после сбоя. ;)